切割矩形不使用矩形:)

时间:2013-08-28 14:24:40

标签: c# bitmap

如果我在位图上有4个点(左上角,右上角,左下角,右下角)如何剪切位图而不使用Rectangle方法来切割那些点的矩形?并将其另存为.png?

2 个答案:

答案 0 :(得分:1)

假设你有4分:p1, p2, p3, p4。您可以使用Clip对象的Graphics属性绘制图像,使得只有4个点所构成的多边形区域中的图像部分。以下是在表单上绘制图像的测试:

private void Form1_Paint(object sender, PaintEventArgs e) {
  GraphicsPath gp = new GraphicsPath();
  gp.AddPolygon(new []{Point.Empty, new Point(100,10), new Point(200,300), new Point(30,200) });//add p1,p2,p3,p4 to the Polygon
  e.Graphics.Clip = new Region(gp);
  e.Graphics.DrawImage(yourImage, Point.Empty);
} 

enter image description here

答案 1 :(得分:0)

您可以裁剪图像(保存部分图像),如下所示:

int newWidth = x2-x1;
int newHeight = y2-y1;

Bitmap smallBitmap = new Bitmap(newWidth, newHeight);
bigImage.DrawImage(0, 0, smallBitmap, x1, y1, newWidth, newHeight);

smallBitmap.Save(....);