日期:2014-05-18 浏览次数:21283 次
protected override void OnPaint(PaintEventArgs e) { // 先创建一个Bitmap对象 Bitmap bmp = new Bitmap(300, 200); Graphics g = Graphics.FromImage(bmp); // 在这里用g画图 ... // 保存 bmp.Save("p1.jpg", System.Drawing.Imaging.ImageFormat.Jpeg); // 可以指定格式 // 更新Panel的图像 e.Graphics.DrawImage(bmp, 0, 0, 100, 100); g.dispose(); }
------解决方案--------------------
Bitmap bmp = new Bitmap(panel1.Width, panel1.Height); panel1.DrawToBitmap(bmp); bmp.Save(fileName);
------解决方案--------------------
其实不然,5楼是截取当前Panel所在的屏幕区域的做法,这种做法会导致
把Panel的背景也给保存下来啦,还有就是当Panel出现滚动条后,无法保存全部绘图数据
最常用的做法是3楼和4楼的做法,图形绘制到屏幕的同时绘制到内存图象
搂主可以参考下贴,我有类似的回复及解释,仅供参考,具体实现搂主需要自己努力啦:
http://topic.csdn.net/u/20081207/18/f841d3d0-5094-47ef-aef9-54b8c83473bb.html