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

时间:2010-12-13 23:29:12

标签: cocoa core-graphics quartz-graphics

您好我最近一直在使用一些旧的quickdraw代码来使用石英,而且我遇到了一个小问题。根据文档("Display Capture Options" @ developer.apple.com),我可以将kCGCaptureNoFill作为参数传递给CGDisplayCaptureWithOptions(),以便在捕获时禁用用黑色填充屏幕。我正在使用它:

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

但拍摄时屏幕仍然充满黑色。我使用它错了还是有一些我不知道的东西?

我们正在使用10.5 SDK进行构建,如果重要的话,我们将在10.4.x上进行部署。这似乎只影响Snow Leopard,我的研究没有发现任何类似的问题。谢谢你的建议!

1 个答案:

答案 0 :(得分:1)

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