【发布时间】:2013-09-18 09:03:45
【问题描述】:
从系统的角度来看,屏幕截图是如何工作的。我尝试了一些搜索,似乎我找到的所有网站都是“我如何截取屏幕截图”。
我更感兴趣的是截图的操作是如何工作的,假设我自己构建了一个有屏幕的小设备,并且数据正在屏幕上显示,那么如何实现截图(高级,虽然如果你想我想一个例子会很好),在我的设备上。
编辑:我看到我有一个关闭的请求,我想如果没有非常具体的上下文,这个问题太难回答了,也许最终会被认为是过时的,关于在哪里发布这样一个问题的任何建议如果这不是正确的地方?
【问题讨论】:
-
您了解的高级别的或系统特定的程度如何?通常,所有图形系统最终都会传输到帧缓冲区。截屏相当于只保存该帧缓冲区。
-
如果您希望有机会获得具体的答案,您需要提供更多详细信息,例如什么设备、什么操作系统、设备硬件配置(显示硬件、驱动程序等)。跨度>
-
@onaclov2000 在 Windows 上,您可以使用 GDI 来抽象图形硬件。您创建一个内存 DC(设备上下文)并从屏幕 DC 中对其进行位块传输。不确定这在 Linux 上是如何工作的,但我很确定 XFree86 显示驱动程序中有一个设备抽象。
-
谢谢你们,在我的特殊情况下,它实际上是自定义硬件,我相信它使用了 OpenGL,但除此之外我不太了解,它没有截图机制,并且我对它如何决定是否值得进行调查很感兴趣。它也没有我知道的标准操作系统。
-
@yan 当您说保存该帧缓冲区时,是否必须进行转换才能查看它? (即 JPG 或 PNG 或其他格式?)
标签: linux windows screenshot microprocessors