3

我目前正在尝试裁剪图像,然后保存新图像。我有原始图像,该图像上我想要裁剪的位置的 x 和 y 坐标,以及新裁剪图像的宽度和高度。

这是我的代码:

Bitmap originalBitmap = new Bitmap(filePath);
Bitmap newImage = new Bitmap(width, height);
Graphics g = Graphics.FromImage(newImage);
g.DrawImage(originalBitmap, x, y, width, height);
newImage.Save(newFilePath);

但是当图像被实际保存时,它是一个正确高度和宽度的小图像,但完全是空的。

我确定我只是在这里遗漏了一个技巧,或者完全误解了某些东西(或两者兼而有之!),所以任何帮助都将不胜感激!

4

1 回答 1

3

尝试使用位图的克隆功能:

Bitmap newImage = originalBitmap.Clone(new RectangleF(x, y, width, height),  
                                       System.Drawing.Imaging.PixelFormat.Format32bppArgb);
newImage.Save(newFilePath);
于 2009-09-24T15:03:25.073 回答