首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

怎么把panel保存成图片

2012-02-05 
如何把panel保存成图片?我在panel中方了一些控件,我如何才能做到把整个panel(包括里面的控件)保存成一个图

如何把panel保存成图片?
我在panel中方了一些控件,我如何才能做到把整个panel(包括里面的控件)保存成一个图片?

[解决办法]
Graphics g1 = panel1.CreateGraphics();
Image myImage = new Bitmap(this.panel1.Width, this.panel1.Height, g1);
Graphics g2 = Graphics.FromImage(myImage);
IntPtr dc1 = g1.GetHdc();
IntPtr dc2 = g2.GetHdc();
BitBlt(dc2, 0, 0, this.panel1.Width, this.panel1.Height, dc1, 0, 0, 13369376);
g1.ReleaseHdc(dc1);
g2.ReleaseHdc(dc2);
myImage.Save(@ "e:\1.bmp ", ImageFormat.Bmp);

[System.Runtime.InteropServices.DllImportAttribute( "gdi32.dll ")]
private static extern bool BitBlt(
IntPtr hdcDest, // handle to destination DC
int nXDest, // x-coord of destination upper-left corner
int nYDest, // y-coord of destination upper-left corner
int nWidth, // width of destination rectangle
int nHeight, // height of destination rectangle
IntPtr hdcSrc, // handle to source DC
int nXSrc, // x-coordinate of source upper-left corner
int nYSrc, // y-coordinate of source upper-left corner
System.Int32 dwRop // raster operation code
);

热点排行