C# 获取当前Windows屏幕并实现指定区域截图
编程开发
C#windows屏幕截图桌面截图
C# 获取当前屏幕并实现指定区域截图功能
本文开放区域内容基本已经说明了问题的原因以及列出了解决问题的核心代码 ,实现了桌面的基本截图功能 并导出为本地图像文件. 因为系统缩放问题导致截图不全或者超出了设定截图范围的 可以看下文章结尾说明,如果看完还解决不了┑( ̄Д  ̄)┍ 就。。。
就c#实现屏幕截图功能来说实现其实很简单 就下面一段代码,逻辑就是本地拿到指定屏幕的Screen 然后在上面copy出指定的位置区域(坐标和宽高),需要注意的是如果太频繁截图(尤其是高并发的情况下)的话代码效率可能会比慢,需要处理好相应的代码系统资源管理细节,避免内存溢出之类的问题
软件实现相关效果参考软件: TK截屏精灵
屏幕截图核心代码
private void ScreenSnapshot()
{
try
{
Screen screen = Screen.AllScreens.FirstOrDefault();//获取当前第一块屏幕(根据需求也可以换其他屏幕)
//创建需要截取的屏幕区域
Rectangle rc = new Rectangle(0, 0,200, 200);
//生成截图的位图容器