首页  ·  知识 ·  编程语言
GDI+屏幕截图程序
乐百事  http://blog.csdn.net/littlekeen/archive/2007/04/20  .NET  编辑:dezai  图片来源:网络
最近在整理以前的的开发资料,发现了过去开发过程中写的不少程序还比较有意思,特此一一整理,以备后用 命名空间 using System.Drawing.Ima

最近在整理以前的的开发资料,发现了过去开发过程中写的不少程序还比较有意思,特此一一整理,以备后用

命名空间

using System.Drawing.Imaging;
using DCOMExtLib;
using System.Runtime.InteropServices; 

方法

[DllImport("gdi32.dll")]
  private static extern IntPtr CreateDC(
   string lpszDriver, // 驱动名称
   string lpszDevice, // 设备名称
   string lpszOutput,    IntPtr lpInitData); 

   [DllImport("gdi32.dll")]
  private static extern bool BitBlt(
    IntPtr hdcDest , //目标设备的句柄
    int nXDest ,     int nYDest ,     int nWidth ,     int nHeight ,     IntPtr hdcSrc ,     int nXSrc ,     int nYSrc , 
    System.Int32 dwRop );

画图部分

IntPtr pt=CreateDC("DISPLAY",null,null,(IntPtr) null);
   Graphics g1 = Graphics.FromHdc(pt);
   Bitmap b2 = new Bitmap (Screen.PrimaryScreen.Bounds.Width,
    Screen.PrimaryScreen.Bounds.Height,g1);
   Graphics g2 = Graphics.FromImage(b2);
   IntPtr dc1 = g1.GetHdc();
   IntPtr dc2 = g2.GetHdc();
   BitBlt(dc2,0,0,Screen.PrimaryScreen.Bounds.Width,
    Screen.PrimaryScreen.Bounds.Height,
    dc1,0,0,13369376);
   g1.ReleaseHdc(dc1);
   g2.ReleaseHdc(dc2);
   b2.Save("c:\\test.bmp",ImageFormat.Bmp);



Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1572129

本文作者:乐百事 来源:http://blog.csdn.net/littlekeen/archive/2007/04/20
CIO之家 www.ciozj.com 微信公众号:imciow
   
免责声明:本站转载此文章旨在分享信息,不代表对其内容的完全认同。文章来源已尽可能注明,若涉及版权问题,请及时与我们联系,我们将积极配合处理。同时,我们无法对文章内容的真实性、准确性及完整性进行完全保证,对于因文章内容而产生的任何后果,本账号不承担法律责任。转载仅出于传播目的,读者应自行对内容进行核实与判断。请谨慎参考文章信息,一切责任由读者自行承担。
延伸阅读