国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C# > 正文

C#利用Windows自帶gdi32.dll實(shí)現(xiàn)抓取屏幕功能實(shí)例

2020-01-24 02:29:21
字體:
供稿:網(wǎng)友

本文實(shí)例講述了C#利用Windows自帶gdi32.dll實(shí)現(xiàn)抓取屏幕功能,是C#應(yīng)用程序設(shè)計(jì)中一個(gè)非常實(shí)用的功能,現(xiàn)分享給大家供大家參考借鑒。

具體功能代碼如下:

internal static void GetScreenShot( ){  //獲得當(dāng)前屏幕的大小   Rectangle rect = new Rectangle();  rect = Screen.AllScreens[0].WorkingArea;     //計(jì)算圖片的大小,因?yàn)閳D片的長和寬有可能超過目前屏幕的大小   //創(chuàng)建一個(gè)以當(dāng)前屏幕為模板的圖象   Control ctl = new Control();  Graphics g1 = ctl.CreateGraphics();  //創(chuàng)建以屏幕大小為標(biāo)準(zhǔn)的位圖   Image MyImage = new Bitmap(rect.Width ,rect .Height, g1);  Graphics g2 = Graphics.FromImage(MyImage);  //得到屏幕的DC   IntPtr dc1 = g1.GetHdc();  //得到Bitmap的DC   IntPtr dc2 = g2.GetHdc();  //調(diào)用此API函數(shù),實(shí)現(xiàn)屏幕捕獲   BitBlt(dc2, 0, 0, rect.Width, rect.Height, dc1, 0, 0, 13369376);  //釋放掉屏幕的DC   g1.ReleaseHdc(dc1);  //釋放掉Bitmap的DC   g2.ReleaseHdc(dc2);  //以JPG文件格式來保存   //Image.GetThumbnailImageAbort myCallback = new Image.GetThumbnailImageAbort(ThumbnailCallback);  //return MyImage.GetThumbnailImage(control.Width, control.Height, myCallback, IntPtr.Zero);  MyImage.Save("D://aa.jpg"); }[System.Runtime.InteropServices.DllImportAttribute("gdi32.dll")]private static extern bool BitBlt( IntPtr hdcDest,  //目標(biāo)設(shè)備的句柄 int nXDest,    //目標(biāo)對(duì)象的左上角的X坐標(biāo) int nYDest,    //目標(biāo)對(duì)象的左上角的X坐標(biāo) int nWidth,    //目標(biāo)對(duì)象的矩形的寬度 int nHeight,    //目標(biāo)對(duì)象的矩形的長度 IntPtr hdcSrc,   //源設(shè)備的句柄 int nXSrc,     //源對(duì)象的左上角的X坐標(biāo) int nYSrc,     //源對(duì)象的左上角的X坐標(biāo) System.Int32 dwRop //光柵的操作值);

希望本文C#抓取屏幕實(shí)例對(duì)大家的C#程序設(shè)計(jì)有所幫助。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 泾源县| 玉溪市| 孝义市| 乌拉特中旗| 尼勒克县| 龙井市| 上饶县| 滁州市| 珠海市| 甘孜| 烟台市| 杭锦后旗| 亳州市| 永春县| 大同市| 通化县| 交城县| 双峰县| 古丈县| 杂多县| 遂溪县| 双辽市| 东源县| 怀来县| 贺州市| 麻阳| 云和县| 黄平县| 满洲里市| 鞍山市| 北宁市| 轮台县| 贵南县| 苍山县| 襄城县| 井陉县| 彰武县| 宝山区| 桐庐县| 五华县| 安龙县|