程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> c#圖象截取實例

c#圖象截取實例

編輯:C#入門知識

c#圖象截取實例。本站提示廣大學習愛好者:(c#圖象截取實例)文章只能為提供參考,不一定能成為您想要的結果。以下是c#圖象截取實例正文


本文實例講述了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#法式設計有所贊助。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved