WPF RenderTargetBitmap 将 TextRenderMode 缩小为 GreyScale
RenderTargetBitmap 删除将 RichtextBox 的 TextRenderingMode 降级为 GreyScale。因此,捕获的 PNG 看起来质量很差,并且与 WPF 控件不匹配。
如果我使用 WINDOWS ALT+PRINT SCREEN,则可以完美捕获文本。
那么如何才能将文本控件呈现为与 ALT+PRINT SCREEN 相同的质量。
如有任何建议,我们将不胜感激 祝
一切顺利
RenderTargetBitmap removes downgrades a RichtextBox's TextRenderingMode to GreyScale. So a captured PNG looks poor quality and doesnt match the WPF control
If I use WINDOWS ALT+PRINT SCREEN, the text is captured perfectly.
So how can I render the text control to the same quality as ALT+PRINT SCREEN.
Any advice would seriously be appreciated
All the best
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以使用与使用 Alt + Print Screen 截屏时使用的窗口相同的技术将窗口渲染到位图中。这个想法是获取一个窗口句柄,然后使用 BitBlt 系统调用。
下面是一个示例(您需要在项目中引用 System.Drawing.dll 程序集才能使其工作):
以下是调用此方法的方法
注意:这对于通过 UpdateLayeredWindow 函数。
希望这有帮助,问候
You can use the same technique to render your window into the bitmap as windows using when taking a screen shot with Alt + Print Screen. The idea is to get a window handle and then render it to a bitmap using BitBlt system call.
Below is an example (you would need to reference the System.Drawing.dll assembly in your project to make it work):
here's how you can call this
Note: this would not work for layered windows updated via UpdateLayeredWindow function.
hope this helps, regards