winform,我用GDI+在窗体上画图,可是我怎样能把我画的保存为一张图片呢? winform,我用GDI+在窗体上画图,Graphics g = form.CreateGraphics(); 可是我怎样能把我画的保存为一张图片呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我想你要保存的图最好先画到内存中,如: Bitmap bmp = new Bitmap(1024,768); Graphics g=Graphics.FromImage(bmp)在上面这个g中画完后,用bmp.Save(.....)方法保存即可 我不明白你为何一定要在Form中画,你可以在内存中画完再放到Form中去的,这也是GDI+的一种叫双缓冲技术的。 我的内容很大,用几千条数据,在picture中画占的内存有100M.所以最后选择在form里画 在窗体上画图,必然在Paint事件里实现,把事件参数中的Graphics传给一个方法,要生成图片时也调用它。private void Form1_Paint(object sender, System.Windows.Forms.PaintEventArgs e){ Draw(e.Graphics);}private void Draw(Grapics g){ ...}private void btnSaveToImg_Click(object sender, System.EventArgs e){ Bitmap bmp = new Bitmap(this.ClientRectangle.Width, this.ClientRectangle.Height, this.CreateGraphics()); Draw(Graphics.FromImage(bmp)); bmp.Save("C:\abc.bmp", System.Drawing.Imaging.ImageFormat.Bmp);} 求教:如何快速查找一个超大的Excel文件里的信息 为什么model层的属性summary注释不生效 c# 检测本地存在扫描仪以及其状态 windows service里面可以使用分布式事务(MSDTC)吗? 【求助】DOTNET中如何建立基类的问题? 麻烦怎样在这个累里面添加进度条 关于 world wind 的问题 ,重谢! C# 编程赛 请问如何在点击DATAGRID时获得选中列的列号 如果已经用设计视图创建好dataset后如何利用dataset来向数据库添加记录?? .net 一个奇怪的问题 C#中程序员可以不用考虑内存拉圾的处理了吗?
Bitmap bmp = new Bitmap(1024,768);
Graphics g=Graphics.FromImage(bmp)
在上面这个g中画完后,用bmp.Save(.....)方法保存即可
private void Form1_Paint(object sender, System.Windows.Forms.PaintEventArgs e)
{
Draw(e.Graphics);
}
private void Draw(Grapics g)
{
...
}
private void btnSaveToImg_Click(object sender, System.EventArgs e)
{
Bitmap bmp = new Bitmap(this.ClientRectangle.Width, this.ClientRectangle.Height, this.CreateGraphics());
Draw(Graphics.FromImage(bmp));
bmp.Save("C:\abc.bmp", System.Drawing.Imaging.ImageFormat.Bmp);
}