使用graphics.DrawImage进行非平滑升级

ohm*_*ama 7 .net c# graphics image

我正在网格中绘制一些图像.图像保存为16x16px pngs.

但是,我后来决定将网格的大小增加到32x32px.

当我使用以下代码时:

graphics.DrawImage(image, Xdraw, Ydraw, 32, 32);
Run Code Online (Sandbox Code Playgroud)

其中image是从png加载的Image,而Xdraw和Ydraw是在左上角决定的.

图像稍微模糊,因为.DrawImage使用双三次(或其他一些平滑函数)来放大图像.我希望它关闭平滑,所以我可以保留硬边.

这可能吗?

Ant*_*nov 13

我认为你应该改变InterpolationMode图形的属性.ASLO看看到SmoothingModeCompositingQuality图形类的.

  • `InterpolationMode.NearestNeighbor`是正确的解决方案 (6认同)