C#将Panel里面的内容保存为bmp图像

扣扣技术交流群:460189483

2种方式

第一种:保存为BMP图像文件,亲测没有问题


Bitmap bmp = new Bitmap(panel1.Width, panel1.Height,System.Drawing.Imaging.PixelFormat.Format24bppRgb);
panel1.DrawToBitmap(bmp,new Rectangle(0,0,panel1.Width,panel1.Height));
bmp.Save("led.bmp",System.Drawing.Imaging.ImageFormat.Bmp);

第二种方式:

有时候想给窗体或某个控件截图,或者说保存成一张图片,下面是实现的方法:

主要用到了g.CopyFromScreen函数,一般用如下重载方法:

g.CopyFromScreen(起点的屏幕坐标X,起点的屏幕坐标Y,0,0,new Size(窗体的宽度,窗体的高度));

Bitmap bit=new Bitmap(this.Width,this.Height);//实例化一个和窗体一样大的bitmap
Graphics g=Graphics.FromImage(bit);
g.CompositingQuality = CompositingQuality.HighQuality;//质量设为最高
g.CopyFromScreen(this.Left,this.Top,0,0,new Size(this.Width,this.Height));//保存整个窗体为图片
//g.CopyFromScreen(panel游戏区 .PointToScreen(Point.Empty), Point.Empty, panel游戏区.Size);//只保存某个控件(这里是panel游戏区)
bit.Save("weiboTemp.png");//默认保存格式为PNG,保存成jpg格式质量不是很好

 

你可能感兴趣的:(C#将Panel里面的内容保存为bmp图像)