Darwin OS 中哪个方法负责截图?

问题描述 投票:0回答:1

我正在尝试在Darwin OS源代码中找到一个类,其中具有截屏功能。

我发现 video_console.c 负责在屏幕上显示图像,但我无法进一步了解。 有谁知道这个代码位于哪里?谢谢你。

ios macos jailbreak darwin
1个回答
0
投票

正如另一位评论者所暗示的,这不是您从内核(xnu)执行的操作,而是窗口系统执行的操作。

您在问题中同时标记了 macOS 和 iOS;答案不同。

在 macOS 上,您可以使用

CGDisplayCreateImage
。请注意,您的应用程序需要获得用户的同意才能使此 API 正常工作。

在 iOS 上,情况稍微复杂一些。在您的应用程序中,您可以将视图层次结构绘制到屏幕外上下文。这不是直接的屏幕截图,但如果您只需要保存应用程序当前显示的内容,那么这是迄今为止最简单的解决方案。除此之外,我所知道的唯一解决方案是ReplayKit。这提供了视频流而不是单个图像,因此您需要处理它。

© www.soinside.com 2019 - 2024. All rights reserved.