我有类似的东西 - 从文件加载到picturebox1的图像:
然后在按下'SelectArea'按钮后,我可以在加载的图片上绘制矩形:
最后按下另一个按钮'SaveArea'后我想将img保存在创建的矩形内,这样我就可以将图像保存在我的驱动器上,如下所示:
如何编写帮助我完成最后一步的代码 - >保存在矩形内部?
TNX。
答案 0 :(得分:1)
首先新建一个具有正确尺寸的位图
然后使用Graphics.FromImage为此创建一个Graphics对象,然后在生成的Graphics对象上使用DrawImage方法将大图像的一部分绘制到位图上。
最后使用Save:
保存位图对象public static void SaveBitmapPart(System.Drawing.Image image, System.Drawing.RectangleF sourceRect, string pathToSave )
{
using (var bmp = new System.Drawing.Bitmap((int)sourceRect.Width, (int)sourceRect.Height))
{
using (var graphics = System.Drawing.Graphics.FromImage(bmp))
{
graphics.DrawImage(image, 0.0f, 0.0f, sourceRect, System.Drawing.GraphicsUnit.Pixel);
}
bmp.Save(pathToSave);
}
}
所以请用以下方式调用:
SaveBitmapPart(picturebox1.Image, myRectangle, @"c:\Temp\Test.bmp");