? ? ? ? 在日常使用電腦辦公時,我們經常遇到需要截圖然后保存圖片,我們往往需要借助安裝截圖工具才能實現,現在我們通過C#自制截圖工具,也能夠輕松進行截圖。
我們可以通過C#調用WindousAPI來實現截圖,實例代碼如下:
/// <summary>/// 調用API函數獲取整個屏幕的圖像/// </summary>/// <returns></returns>[DllImport("user32.dll", EntryPoint = "GetDesktopWindow")]private static extern IntPtr GetDesktopWindow();[DllImport("user32.dll", EntryPoint = "GetWindowDC")]private static extern IntPtr GetWindowDC(IntPtr hwnd);[DllImport("gdi32.dll", EntryPoint = "BitBlt")]private static extern int BitBlt(IntPtr hDestDC,int x,int y,int nWidth,int nHeight,IntPtr hSrcDC,int xSrc,int ySrc,int dwRop);/// <summary>/// 截取整個屏幕的圖像/// </summary>/// <returns></returns>public static Bitmap CopyFromScreen(){int width = (int)SystemParameters.PrimaryScreenWidth;int height = (int)SystemParameters.PrimaryScreenHeight;Bitmap newBitmap = new Bitmap(width, height);Graphics g = Graphics.FromImage(newBitmap);IntPtr DeskHwnd = GetWindowDC(GetDesktopWindow());IntPtr Ghwnd = g.GetHdc();BitBlt(Ghwnd, 0, 0, width, height, DeskHwnd, 0, 0, 13369376);g.ReleaseHdc(Ghwnd);CopyHelper.newBitmap = newBitmap;return newBitmap;}
實例鏈接:https://download.csdn.net/download/lvxingzhe3/89505005