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

首頁 > 編程 > C# > 正文

c#圖像截取實例

2020-01-24 02:22:03
字體:
來源:轉載
供稿:網友

本文實例講述了c#圖像截取的實現方法。分享給大家供大家參考。具體如下:

圖像截取的相關代碼如下: 

復制代碼 代碼如下:
public Form1() 

   InitializeComponent(); 

private void button1_Click(object sender, EventArgs e) 

   Image pic = new Bitmap(this.Width, this.Height); 
   Graphics graphic = Graphics.FromImage(pic); 
   graphic.CopyFromScreen(new Point(this.Location.X, this.Location.Y), new Point(0, 0), new Size(this.Width, this.Height)); 
   pic.Save(@"d:/test.jpeg", ImageFormat.Jpeg); 
   graphic.Dispose(); 

[System.Runtime.InteropServices.DllImportAttribute("gdi32.dll")] 
private static extern bool BitBlt( 
   IntPtr hdcDest, //目標設備的句柄 
   int nXDest, // 目標對象的左上角的X坐標 
   int nYDest, // 目標對象的左上角的X坐標 
   int nWidth, // 目標對象的矩形的寬度 
   int nHeight, // 目標對象的矩形的長度 
   IntPtr hdcSrc, // 源設備的句柄 
   int nXSrc, // 源對象的左上角的X坐標 
   int nYSrc, // 源對象的左上角的X坐標 
   System.Int32 dwRop // 光柵的操作值 
   ); 
[System.Runtime.InteropServices.DllImportAttribute("gdi32.dll")] 
private static extern IntPtr CreateDC( 
   string lpszDriver, // 驅動名稱 
   string lpszDevice, // 設備名稱 
   string lpszOutput, // 無用,可以設定位"NULL" 
   IntPtr lpInitData // 任意的打印機數據 
   ); 

private void Form1_SizeChanged(object sender, EventArgs e) 

  

private void button2_Click(object sender, EventArgs e) 

   this.Hide(); 
    
   IntPtr dc1 = CreateDC("DISPLAY", null, 
       null, (IntPtr)null); 
   //創建顯示器的DC 
   Graphics g1 = Graphics.FromHdc(dc1); 
   //由一個指定設備的句柄創建一個新的Graphics對象 
   Bitmap MyImage = 
       new Bitmap(Screen.PrimaryScreen.Bounds.Width, 
    Screen.PrimaryScreen.Bounds.Height, g1); 
   //根據屏幕大小創建一個與之相同大小的Bitmap對象 
   Graphics g2 = Graphics.FromImage(MyImage); 
   //獲得屏幕的句柄 
   IntPtr dc3 = g1.GetHdc(); 
   //獲得位圖的句柄 
   IntPtr dc2 = g2.GetHdc(); 
   //把當前屏幕捕獲到位圖對象中 
   BitBlt(dc2, 0, 0, Screen.PrimaryScreen.Bounds.Width, 
       Screen.PrimaryScreen.Bounds.Height, 
       dc3, 0, 0, 13369376); 
   //把當前屏幕拷貝到位圖中 
   g1.ReleaseHdc(dc3); 
   //釋放屏幕句柄 
   g2.ReleaseHdc(dc2); 
   //釋放位圖句柄 

   Bitmap img = new Bitmap(MyImage, 800, 600); 
   //縮放圖片到800*600 
   img.Save("d://MyJpeg.jpg", ImageFormat.Jpeg); 
   MessageBox.Show("已經把當前屏幕保存到" + 
       "C://MyJpeg.jpg文件中!"); 
   this.Show(); 
}

希望本文所述對大家的C#程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 册亨县| 北海市| 顺义区| 晋江市| 苍溪县| 富裕县| 山东省| 深圳市| 攀枝花市| 宜川县| 奉化市| 宜丰县| 车致| 南康市| 东乌| 澄迈县| 肇庆市| 海兴县| 汝阳县| 广南县| 青阳县| 康乐县| 沅陵县| 望谟县| 洛川县| 容城县| 新田县| 石家庄市| 和林格尔县| 盐津县| 南汇区| 罗甸县| 邹平县| 宜兰市| 鲁山县| 辽中县| 松江区| 昭苏县| 重庆市| 宁阳县| 长白|