我有一个图像是1px宽,和一些高度。我需要在它的OnPaint事件的整个控件宽度上绘制这个图像。我得到它,但不正确。它看起来像延伸它时,它并不实际填充所有像素。就好像插值关闭一样。有没有办法说“停止聪明,只是已经画出来”?我在图形对象的选项中看不到InterpolationMode.Off或.None。c#绘制图像(缩放)为图形,不能正确插值。修复?
我可以确认我实际上使用宽度为X的图像来绘制全宽,其中X与控件的宽度相同。然后当它画,它正常覆盖整个区域。然而,这个控件一直在调整大小,并且为了节省内存,所有使用1px宽图像的爵士乐在网络世界中是非常正常的。这是用于桌面C#应用程序。有想法该怎么解决这个吗?
我有同样的问题,并尝试PixelOffsetMode和InterpolationMode的几个变种后,这是对我有用。 对于那些通过Google进行搜索:将PixelOffsetMode设置为Half,可以让graphics.DrawImage(...)调整图像大小(如在MS Paint中)而不会出现任何别名,并用您指定的内容填充目标大小/矩形。 如果您不想关注工件/混合(因为它的一个纯色,不会有任何),所以如果要覆盖单个彩色图像/图案,这很好。 – Andrew 2011-05-29 04:55:54