2009-09-24 173 views
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); 

但是当图像被保存实际上可以,这是正确的高度和宽度的小图像,但完全是空的。

我敢肯定,我只是错过了一个小把戏,或者完全误解了一些东西(或者两个!),所以任何帮助都将不胜感激!

回答

3

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

Bitmap newImage = originalBitmap.Clone(new RectangleF(x, y, width, height), 
             System.Drawing.Imaging.PixelFormat.Format32bppArgb); 
newImage.Save(newFilePath); 
+0

你是个天才,我今晚奉献我吉尼斯品脱一个给你!谢谢! :-) – 2009-09-24 15:13:18

+0

下次可以寄给我吗) – manji 2009-09-24 15:23:47