C# 保存 System.Drawing.Graphics 到 .png
C# save System.Drawing.Graphics to .png
我尝试使用 graphics.Save();
Graphics newImage = Graphics.FromImage(bmp2);
newImage.DrawImage(bmp, 87, 37, 0, 0);
newImage.Save();
但是当我尝试像 Image.Save(@"HereGoesName.PNG") 那样设置文件名时;方法我得到一个错误说 "No overload for the method 'Save' takes 1 arguments)"
我搜索的所有地方都说要执行以下操作
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);
据我了解,这是从此处的位图创建图形,而我正在尝试做相反的事情。
这很简单:您的行 Graphics newImage = Graphics.FromImage(bmp2);
创建了一个引用 bmp2
图像的图形对象。
所有绘图操作都直接在您的 bmp2
位图上绘制
因此您可以简单地保存修改后的图像:
bmp2.Save(@"foo.png", ImageFormat.Png);
您需要在位图上调用 Save
,而不是图形:
Graphics newImage = Graphics.FromImage(bmp2);
newImage.DrawImage(bmp, 87, 37, 0, 0);
bmp2.Save("HereGoesName.PNG", ImageFormat.Png);
我尝试使用 graphics.Save();
Graphics newImage = Graphics.FromImage(bmp2);
newImage.DrawImage(bmp, 87, 37, 0, 0);
newImage.Save();
但是当我尝试像 Image.Save(@"HereGoesName.PNG") 那样设置文件名时;方法我得到一个错误说 "No overload for the method 'Save' takes 1 arguments)"
我搜索的所有地方都说要执行以下操作
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);
据我了解,这是从此处的位图创建图形,而我正在尝试做相反的事情。
这很简单:您的行 Graphics newImage = Graphics.FromImage(bmp2);
创建了一个引用 bmp2
图像的图形对象。
所有绘图操作都直接在您的 bmp2
位图上绘制
因此您可以简单地保存修改后的图像:
bmp2.Save(@"foo.png", ImageFormat.Png);
您需要在位图上调用 Save
,而不是图形:
Graphics newImage = Graphics.FromImage(bmp2);
newImage.DrawImage(bmp, 87, 37, 0, 0);
bmp2.Save("HereGoesName.PNG", ImageFormat.Png);