CGDisplayCaptureWithOptions (kCGDirectMainDisplay, kCGCaptureNoFill) 仍然用黑色填充屏幕

发布于 2024-10-07 07:28:27 字数 645 浏览 1 评论 0原文

您好,我最近正在将一些旧的快速绘制代码转移到使用石英,但我遇到了一个小障碍。根据文档(“显示捕获选项” @developer.apple.com)我可以将 kCGCaptureNoFill 作为参数传递给 CGDisplayCaptureWithOptions(),以在捕获时禁用用黑色填充屏幕。我是这样使用它的:

CGDisplayErr err = CGDisplayCaptureWithOptions (kCGDirectMainDisplay, kCGCaptureNoFill); 
if (err == kCGErrorSuccess) {
    etc...
}

但是捕获时屏幕仍然充满黑色。我使用它是错误的还是有一些明显的东西我遗漏了?

我们正在使用 10.5 SDK 进行构建,并在必要时部署在 10.4.x 上。这似乎只影响雪豹,我的研究尚未发现任何类似的问题。谢谢您的建议!

Hi I've recently been moving some of our old quickdraw code to use quartz and I've run into one little snag. According to the docs ("Display Capture Options" @ developer.apple.com) I can pass kCGCaptureNoFill as a parameter to CGDisplayCaptureWithOptions(), to disable filling the screen with black when it is captured. I'm using it like so:

CGDisplayErr err = CGDisplayCaptureWithOptions (kCGDirectMainDisplay, kCGCaptureNoFill); 
if (err == kCGErrorSuccess) {
    etc...
}

But the screen is still filled with black when it is captured. Am I using it wrong or is there something obvious that I'm missing?

We are building with the 10.5 SDK and and deploying on 10.4.x if it matters. This seems to only affect Snow Leopard and my research hasn't turned up any issues similar to this. Thank you for your suggestions!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

你又不是我 2024-10-14 07:28:27

添加多个显示器的实现后,当我使用从 CGGetActiveDisplayList() 返回的值而不是 kCGDirectMainDisplay 捕获显示时,屏幕不会按预期变黑。这解决了 Snow Leopard 上的问题。

After adding an implementation for multiple displays, when I capture the display using the values returned from CGGetActiveDisplayList() instead of kCGDirectMainDisplay, the screen is not blacked as is expected. This solves the problem on Snow Leopard.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文