如何在C#中剪切部分图像

时间:2012-02-28 15:39:21

标签: c# .net graphics

我不知道如何从其他大图片中剪切矩形图像。

假设有 300 x 600 image.png。

我只想用 X:10 Y 20,200,高度100 剪切一个矩形,并将其保存到其他文件中。

我怎样才能在C#中做到这一点?

感谢!!!

2 个答案:

答案 0 :(得分:29)

查看MSDN上的Graphics Class

这是一个将您指向正确方向的示例(请注意Rectangle对象):

public Bitmap CropImage(Bitmap source, Rectangle section)
{
    // An empty bitmap which will hold the cropped image
    Bitmap bmp = new Bitmap(section.Width, section.Height);

    Graphics g = Graphics.FromImage(bmp);

    // Draw the given area (section) of the source image
    // at location 0,0 on the empty bitmap (bmp)
    g.DrawImage(source, 0, 0, section, GraphicsUnit.Pixel);

    return bmp;
}

// Example use:     
Bitmap source = new Bitmap(@"C:\tulips.jpg");
Rectangle section = new Rectangle(new Point(12, 50), new Size(150, 150));

Bitmap CroppedImage = CropImage(source, section);

答案 1 :(得分:20)

另一种制作图像的方法是克隆具有特定起点和大小的图像。

int x= 10, y=20, width=200, height=100;
Bitmap source = new Bitmap(@"C:\tulips.jpg");
Bitmap CroppedImage = source.Clone(new System.Drawing.Rectangle(x, y, width, height), source.PixelFormat);