C#将System.Drawing.Graphics保存为.png

时间:2016-08-19 19:56:11

标签: c# visual-studio system.drawing.graphics

我尝试使用graphics.Save();

Graphics newImage = Graphics.FromImage(bmp2);
newImage.DrawImage(bmp, 87, 37, 0, 0);
newImage.Save();

但是当我尝试像在Image.Save中设置文件名时(@“HereGoesName.PNG”);方法我得到一个错误说“方法没有重载'保存'需要1个参数”“

我搜索的所有地方都说要做以下

 Bitmap bitmap = new Bitmap(Convert.ToInt32(1024), Convert.ToInt32(1024), System.Drawing.Imaging.PixelFormat.Format32bppArgb);
 Graphics g = Graphics.FromImage(bitmap);
 bitmap.Save(@"HereGoesName.PNG", ImageFormat.Png);

根据我的理解,这是从这里的位图创建图形,我正在尝试做对话。

2 个答案:

答案 0 :(得分:4)

您需要在位图上调用Save,而不是图形:

Graphics newImage = Graphics.FromImage(bmp2);
newImage.DrawImage(bmp, 87, 37, 0, 0);
bmp2.Save("HereGoesName.PNG", ImageFormat.Png);

答案 1 :(得分:2)

这很简单:您的专线Graphics newImage = Graphics.FromImage(bmp2);会创建一个引用bmp2图片的图形对象。

所有绘图操作都直接在您的bmp2位图

上绘制

因此您可以使用以下命令保存修改后的图像:

bmp2.Save(@"foo.png", ImageFormat.Png);