前人发现过类似的:)并已经有了解决方法:
http://webserver2.tecgraf.puc-rio.br/~scuri/gdiplus/drawimage_scale_problem.html
我的问题升级了:(
我需要放大的,是图片的一部分(是个矩形),并且矩形本身带有清晰的对称边框。
如下,全图带有3,我提供的是2的部分,但真正图片中,2是带边框的。
222223
222223
222223
333333
但画出来的效果,边框基本不对称。
除了前人说的一个像素的问题,还发现一个问题,就是因为GDI+要模糊化,真正用到的像素比提供的srcRect还要多一个像素。比如我提供的是2部分的数据,结果实际绘图的时候用到了3的部分。而因为左侧和上侧没有3,导致绘制结果不对称。
必要条件:srcRect加外面一圈像素会用到,最外圈保持对称。
解决方法一:左侧和上侧加上3(改代码)
解决方法二:3改成2,这样效果一样(但美工用起来很不方便)
解决方法三:删除3,缩放整个图片(不能有效减少资源)