我想制作非常简单的油漆/图像编辑器。主要是用于像素编辑,但这看起来并不相关。 为了减轻我的努力,我决定将图像尺寸保持在16x16。
我填充表单,添加PixelBox并在其上拍一个默认图像。 当然,我需要使像素可见,将插值设置为NearestNeighbor。
然后,我将像素盒拉伸到320x320。情况就出现了。
图像显示如下: Cropped image
有人可以对此有所了解吗?这只是一张16x16的图像,上面有我制作的棋盘图案,但我无法弄清楚为什么它会在左上角显示偏移量。
此外,尚未添加任何代码。我认为这是默认行为?
答案 0 :(得分:0)
如果您查看页面上发生完全相同错误的示例,那么它必定是PixelBox上的错误。
不使用自定义控件进行此类操作,只需使用标准PictureBox并自行缩放图像:
public Bitmap ScaleBitmap(Bitmap src, Size NewSize)
{
Bitmap bmp = new Bitmap(NewSize.Width, NewSize.Height, src.PixelFormat);
Graphics g = Graphics.FromImage(src);
g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.NearestNeighbor;
g.DrawImage(src, new Rectangle(Point.Empty, NewSize), new Rectangle(0, 0, src.Width, src.Height), GraphicsUnit.Pixel);
g.Dispose();
return bmp;
}