Windows Forms C#,图像编辑

时间:2016-02-11 16:50:37

标签: c# forms winforms visual-studio graphic

我目前正在开发一个应用程序,以自动生成tileset。 其实我的问题很简单。 我将文件分隔成瓷砖时遇到了麻烦。 是否可以从PictureBox中创建单独的图像,还是有另一种更有效的方法? 我想将图形切割成瓷砖,重新排列它们。

1 个答案:

答案 0 :(得分:1)

如果图像只是PictureBox,您可以相对轻松地从bitmap获取子图像。您可以使用位图类Clone()方法,该方法需要RectanglePixelFormat

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图像设置为已编辑的图像。