急问在一个按钮事件中画的图形如何在另外一个按钮事件中保存为bmp文件???

garrymj 2004-05-05 08:13:35
我在一个按钮事件中建了个bitmap,并在它的graphics上画图,现在想在另外一个按钮事件中把它保存下来,存为bmp或其它的图片格式,我每次存下来的都是一张黑色的图,没有我画的任何线条,不知道是为什么,请高手赐教阿!!最好能贴代码,谢谢了!!!!!
...全文
54 14 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
BlueLevin 2004-05-06
  • 打赏
  • 举报
回复
你把图形对像的变量放在程序的公共部分,就是在所有的函数体外部.当用一个按钮画好后,图形的值已存入变量.这时你用另一个按钮直接将它存入硬盘就行了.
garrymj 2004-05-05
  • 打赏
  • 举报
回复
能举个例子吗??是不是鼠标点过的每个位子都要保存吗?另外byte[] mybyte=new mybyte[length],该怎么用呢?
greatsft 2004-05-05
  • 打赏
  • 举报
回复
写你的画图程序呀,
比如要保存一些鼠标位置呀,因为通过上一鼠标位置来连接下一个位置的图象
garrymj 2004-05-05
  • 打赏
  • 举报
回复
那在绘图的那个事件中需要写些什么呢???
greatsft 2004-05-05
  • 打赏
  • 举报
回复
SaveFileDialog savefile=new SaveFileDailog();
string filename=savefile.FileName;
FileStream fs=new FileStream(filename,FileAccess.Read,FileMode.Create);
BinaryWriter bw=new BinaryWriter(fs,System.Text.Encoding.ASCII);
bw.Write(mybyte);
bw.Flush();
bw.Close();
fs.Close();
garrymj 2004-05-05
  • 打赏
  • 举报
回复
能再说的详细一点吗?因为我是新手,对BinaryWriter、stream什么的都不是很熟,谢谢阿
greatsft 2004-05-05
  • 打赏
  • 举报
回复
那就是我说的方法呀比如有两个事件,其实一个是savebtn_Click(object obj,EventArgs ea)
{

... //我上述说的方法
}
savebtn_Click是处理保存的
garrymj 2004-05-05
  • 打赏
  • 举报
回复
upupupupup
garrymj 2004-05-05
  • 打赏
  • 举报
回复
我是想全部画完再保存,就是有一个事件处理画图,另一个事件处理保存,有没有简单的办法实现呢?
greatsft 2004-05-05
  • 打赏
  • 举报
回复
to 楼主:
你是要没画一笔都保存吗?不是全部画完再保存?
看来我是误会你意思了,能把你的意思再解释下吗?
garrymj 2004-05-05
  • 打赏
  • 举报
回复
to wangsaokui:你说的是在一个事件中的吧?那样是可以的,可我想在两个不同事件中实现它,不知道怎么实现呢???
to greatsft:那如果我要用鼠标画图岂不是要每画一笔就要存到缓冲区阿?有没有方法可以把bitmap中graphics的当前状态取过来啊?
zxfox 2004-05-05
  • 打赏
  • 举报
回复
UP
greatsft 2004-05-05
  • 打赏
  • 举报
回复
用二进制读取这个位图,即用
BinaryWriter类来读取
把读取的这个内容存放到一个缓冲区数组比如byte[] mybyte=new mybyte[length];
然后用FileStream把缓冲区内容读到你选择的文件下,比如:
SaveFileDialog savefile=new SaveFileDialog();
string filename=savefile.FileName; //保存到的文件名
FileStream fs=new FileStream(filename,FileAccess.Read,FileMode.CreateNew);
fs.Write(mybyte); //把缓冲区的内容读到文件中
fs.Flush();
fs.Close();
////////////////////////////////////

wish u good luck
Greatsft
wangsaokui 2004-05-05
  • 打赏
  • 举报
回复
System.Drawing .Graphics g;

System.Drawing .Image b = new System.Drawing .Bitmap (200,100);
g = System.Drawing .Graphics.FromImage(b);

System.Drawing .Pen p = new System.Drawing .Pen(System.Drawing .Color .Blue ,3);
g.DrawEllipse ( p,50,25,80,40);
b.Save ("dog.bmp",System.Drawing .Imaging .ImageFormat.Bmp );
g.dispose();

111,094

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧