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();
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();
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
to greatsft:那如果我要用鼠标画图岂不是要每画一笔就要存到缓冲区阿?有没有方法可以把bitmap中graphics的当前状态取过来啊?
{ ... //我上述说的方法
}
savebtn_Click是处理保存的
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();