如何将图形保存为png或jpg文件c#
Posted
技术标签:
【中文标题】如何将图形保存为png或jpg文件c#【英文标题】:How to save graphics into png or jpg file c# 【发布时间】:2020-12-16 13:43:14 【问题描述】:我正在开发 C# windows 窗体应用程序中的图形应用程序。我有一个可以在上面画的表格。 所以我从表单中创建了一个Graphic 对象。
void StartPoint()
Graphics graphic;
graphic = PaintWindow.CreateGraphics();
我想知道如何在绘制完某些内容后将此图形导出为 png 或 jpg 文件。 在此之前,我搜索了这个问题,但没有发现任何有用的东西。 有些人通过打印屏幕的那部分来解决这个问题:
graphic.CopyFromScreen(...);
这种方式对我没有用,因为有时我需要透明背景图像。 另外,我尝试了位图方式:
private void ExportBTN_Click(object sender, EventArgs e)
Bitmap b = new Bitmap(PaintWindow.Width, PaintWindow.Height, graphic);
b.Save(...);
但是当我保存时,图像文件完全是黑色的。 这是我的应用程序:
【问题讨论】:
你试过用PNG
这样的格式保存位图吗:b.Save(fileName, System.Drawing.Imaging.ImageFormat.Png)
?或者你可以查看here的答案
如果你用黑色以外的任何颜色画画,你会得到全黑吗? (这个测试会告诉我们它是否是一个 alpha 通道相关的问题。)
是的,我做了 png 格式。我以前看过那个答案。
【参考方案1】:
如果你想画一张你想create your graphics from that image的图片:
using(var myGraphics = Graphics.FromImage(myBitmap))
// Do drawing
然后您可以继续使用 CopyFromScreen 和其他绘图方法来更新图像并保存它。
【讨论】:
以上是关于如何将图形保存为png或jpg文件c#的主要内容,如果未能解决你的问题,请参考以下文章