您的位置:首页 > 文旅 > 旅游 > C#/WPF 自制截图工具

C#/WPF 自制截图工具

2024/12/23 10:04:36 来源:https://blog.csdn.net/lvxingzhe3/article/details/140111582  浏览:    关键词:C#/WPF 自制截图工具

        在日常使用电脑办公时,我们经常遇到需要截图然后保存图片,我们往往需要借助安装截图工具才能实现,现在我们通过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

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com