我目前正在开发一个应用程序,以自动生成tileset。 其实我的问题很简单。 我将文件分隔成瓷砖时遇到了麻烦。 是否可以从PictureBox中创建单独的图像,还是有另一种更有效的方法? 我想将图形切割成瓷砖,重新排列它们。
答案 0 :(得分:1)
如果图像只是PictureBox
,您可以相对轻松地从bitmap
获取子图像。您可以使用位图类Clone()
方法,该方法需要Rectangle
和PixelFormat
。
Bitmap image = pictureBox.Image;
Bitmap subImage = image.Clone(new Rect(0,0,64,64), image.PixelFormat);
本例中的子图像将从图像中的位置(0,0)开始,大小为64x64
为了重新排列瓷砖,您可以将它们打印回PictureBox,如下所示:
Graphics g = Graphics.FromImage(image);
g.drawImage(subImage, 64, 64);
pictureBox.Image = image;
这会将subImage
绘制到我们之前从图片框image
抓取的(64,64)处的图像中,然后将PictureBox图像设置为已编辑的图像。