gpt4 book ai didi

C#:需要在 "imaginary"桌面上呈现窗体/控件

转载 作者:行者123 更新时间:2023-11-30 17:23:27 26 4
gpt4 key购买 nike

好的,这就是我想要做的。首先,我将解释我尝试实现的最终结果,以防有其他关于如何执行此操作的想法。

我正在制作一个屏幕捕获实用程序,它只拍摄一个窗口的屏幕截图……我的窗口(我对它有完全的程序控制)。但是,此窗口可能比运行该实用程序的计算机桌面大得多。特别是高度,在1024x768分辨率的电脑上可能达到几千像素。

所以我试图捕捉整个窗口,即使它比屏幕大得多。这就是我想要达到的最终结果。

一个假设的解决方案是在某种图形或屏幕对象上呈现表单/控件,并截取该对象的屏幕截图,而不是截取物理桌面的屏幕截图。

本质上,我需要在仅存在于代码和内存中的假想屏幕上绘制控件,我什至不知道要搜索什么,所以即使是关于将什么放入 Google(真正的搜索引擎)的想法也会有所帮助.

有什么想法吗?提前致谢!

编辑:我正在使用 WinForms。

最佳答案

您没有提到您的 C# 应用程序使用哪种技术,我假设它是 WinForms 或 WPF。

如果您的实现使用 WPF,您可以简单地将它呈现为具有正确尺寸的 DrawingImage - 或者甚至使用 WPF 的打印功能将窗口的内容“打印”为图像内存。 Here's a decent example of printing in WPF您可能能够适应(如果您使用的是 WPF)。

对于 WinForms 应用程序,这有点棘手,因为 WinForm 控件在较高分辨率下并不总是能很好地缩放,并且可能会出现对齐问题。 Here's a link that describes printing a WinForm screen to an image .它演示了打印 UserControl,但您应该能够根据您的目的调整实现。

关于C#:需要在 "imaginary"桌面上呈现窗体/控件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2185319/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com