Loading

C# Capture Control Graphics

 

[DllImportAttribute("gdi32.dll")]
private static extern bool BitBlt(
IntPtr hdcDest,
int nXDest,
int nYDest,
int nWidth,
int nHeight,
IntPtr hdcSrc,
int nXSrc,
int nYSrc,
int dwRop);
代码
public Bitmap CaptureControl(Control control)
{
    Bitmap controlBmp;
    
using (Graphics g1 = control.CreateGraphics())
    {
        controlBmp 
= new Bitmap(control.Width, control.Height, g1);
        
using (Graphics g2 = Graphics.FromImage(controlBmp))
        {
            IntPtr dc1 
= g1.GetHdc();
            IntPtr dc2 
= g2.GetHdc();
            BitBlt(dc2, 
00, control.Width, control.Height, dc1, 0013369376);
            g1.ReleaseHdc(dc1);
            g2.ReleaseHdc(dc2);
        }
    }

    
return controlBmp;
}

 

 

 

http://www.vcskicks.com/capture-control-graphics.php

posted @ 2010-02-01 13:11  .net's  阅读(692)  评论(0)    收藏  举报