用GDI+放大图片(DrawImage)时的“边界像素”问题

1 篇文章 0 订阅

前人发现过类似的:)并已经有了解决方法:
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,缩放整个图片(不能有效减少资源)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值