C# 将图形内容保存到文件

C# 将图形内容保存到文件,c#,winforms,bitmap,C#,Winforms,Bitmap,我有一些代码,在其中我将函数图绘制到PictureBox图形中。代码在Paint事件中实现。在某个时刻,我想将图形内容的位图保存到一个文件中 我已经读过的答案,但没有找到我要找的 我需要的是在PictureBox(或您建议的任何其他控件)中绘制,这样当控件被隐藏或出现其他情况时,我就不会丢失图形(因此我认为我无法CreateGraphics()),并且能够在按钮的单击事件中保存该图形 如有必要,我愿意将绘图逻辑从Paint事件中删除 提前谢谢。我根据自己的假设回答了问题 我创建了一个新的Winf

我有一些代码,在其中我将函数图绘制到
PictureBox
图形中。代码在
Paint
事件中实现。在某个时刻,我想将图形内容的位图保存到一个文件中

我已经读过的答案,但没有找到我要找的

我需要的是在PictureBox(或您建议的任何其他控件)中绘制,这样当控件被隐藏或出现其他情况时,我就不会丢失图形(因此我认为我无法
CreateGraphics()
),并且能够在按钮的单击事件中保存该图形

如有必要,我愿意将绘图逻辑从
Paint
事件中删除


提前谢谢。

我根据自己的假设回答了问题

我创建了一个新的
Winforms
应用程序

我添加了一个面板和一个按钮 我创建了一个名为
buffer
Bitmap
,并在
Form1
构造函数中将其初始化为面板大小。我没有直接绘制到面板,而是绘制到
位图
,然后设置面板背景图像
缓冲区
;这将增加图形的持久性。如果你真的想写一个文件,我可以告诉你。问问吧

要写入文件,您将需要此命名空间引用:

using System.IO;
我添加了您要求的
ImageToDisc
函数

代码如下:


我根据我的假设回答了这个问题

我创建了一个新的
Winforms
应用程序

我添加了一个面板和一个按钮 我创建了一个名为
buffer
Bitmap
,并在
Form1
构造函数中将其初始化为面板大小。我没有直接绘制到面板,而是绘制到
位图
,然后设置面板背景图像
缓冲区
;这将增加图形的持久性。如果你真的想写一个文件,我可以告诉你。问问吧

要写入文件,您将需要此命名空间引用:

using System.IO;
我添加了您要求的
ImageToDisc
函数

代码如下:


检查这个挂起我认为这很容易,你实际上不想在关闭程序并再次启动后将图像保存到一个文件中使用,你只想在最小化窗口并重新打开时图像保持在那里。我认为您正在寻找持久的图形。如果我是正确的,你能发布一些你的代码,让我们可以看到它和帮助吗out@Shai,非常有用。谢谢。请检查此项挂起我认为这很简单,在关闭程序并再次启动后,您实际上不想将图像保存到文件中以供使用,您只希望在最小化窗口并重新打开时图像保持在那里。我认为您正在寻找持久的图形。如果我是正确的,你能发布一些你的代码,让我们可以看到它和帮助吗out@Shai,非常有用。谢谢。为什么要将图像转换为
字节[]
来保存它?只需使用
Image.Save()
。我不知道,将其保存为二进制格式对我来说是有意义的。我想没有理由不将其保存为图像格式。谢谢,我想这会使它成为现实。在
图像上拍摄的点。也从@EdS保存
。为什么要将图像转换为
字节[]
来保存它?只需使用
Image.Save()
。我不知道,将其保存为二进制格式对我来说是有意义的。我想没有理由不将其保存为图像格式。谢谢,我想这会使它成为现实。在
图像上拍摄的点。也从@EdS保存