当前位置: 首页 > 编程语言 > C#

从窗口内容中截取屏幕截图(无边框)分享

时间:2023-04-10 16:00:17 C#

从窗口内容中截取屏幕截图(无边框)我正在寻找有关如何使用C#将表单内容保存在位图中的解决方案。我试过使用DrawToBitmap,但它会捕获所有带边框的窗口。这是这段代码的结果:publicstaticBitmapTakeDialogScreenshot(Formwindow){varb=newBitmap(window.Bounds.X,window.Bounds.Y);window.DrawToBitmap(b,window.Bounds);返回b;调用是:TakeDialogScreenshot(this);谁想出来的:D我用谷歌搜索过,但没找到。谢谢!编辑:虽然使用ClientArea是关键,但这还不够,因为DrawToBitmap将始终包含标题、边框和滚动条。因此,在获取全屏之后-或者更确切地说是“formhot”,我们将不得不裁剪它,使用我们可以通过将客户区域的原点映射到屏幕坐标并从表单位置Offset中减去这些偏移量来获得的内容。屏幕坐标..:publicstaticBitmapTakeDialogScreenshot(Formwindow){varb=newBitmap(window.Width,window.Height);window.DrawToBitmap(b,newRectangle(0,0,window.Width,window.Height));点p=window.PointToScreen(Point.Empty);Bitmaptarget=newBitmap(window.ClientSize.Width,window.ClientSize.Height);使用(Graphicsg=Graphics.FromImage(target)){g.DrawImage(b,0,0,newRectangle(pX-window.Location.X,pY-window.Location.Y,target.Width,target.Height),图形单元.像素);}b.Dispose();返回目标;抱歉我第一篇文章中的错误!以上就是C#学习教程:窗口内容截图(无边框),分享全部内容。如果对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场,如涉及侵权,请点击右边联系管理员删除。如需转载请注明出处: