Cocoa CGDisplayCaptureWithOptions(KCGDirectMain显示,kCGCaptureNoFill)仍然用黑色填充屏幕
嗨,我最近把一些旧的quickdraw代码移到使用quartz,我遇到了一个小问题。根据文档(@developer.apple.com),我可以将kCGCaptureNoFill作为参数传递给CGDisplayCaptureWithOptions(),以禁用在捕获屏幕时用黑色填充屏幕。我是这样使用它的:Cocoa CGDisplayCaptureWithOptions(KCGDirectMain显示,kCGCaptureNoFill)仍然用黑色填充屏幕,cocoa,core-graphics,quartz-graphics,Cocoa,Core Graphics,Quartz Graphics,嗨,我最近把一些旧的quickdraw代码移到使用quartz,我遇到了一个小问题。根据文档(@developer.apple.com),我可以将kCGCaptureNoFill作为参数传递给CGDisplayCaptureWithOptions(),以禁用在捕获屏幕时用黑色填充屏幕。我是这样使用它的: CGDisplayErr err = CGDisplayCaptureWithOptions (kCGDirectMainDisplay, kCGCaptureNoFill); if (err
CGDisplayErr err = CGDisplayCaptureWithOptions (kCGDirectMainDisplay, kCGCaptureNoFill);
if (err == kCGErrorSuccess) {
etc...
}
但是当它被捕获时,屏幕仍然充满了黑色。是我用错了,还是有什么明显的地方我遗漏了
我们正在使用10.5SDK进行构建,并在10.4.x上进行部署(如果有必要的话)。这似乎只影响雪豹,我的研究还没有发现任何类似的问题。谢谢你的建议 在添加多个显示的实现后,当我使用从
cGetActiveDisplayList()
返回的值而不是kCGDirectMainDisplay
捕获显示时,屏幕不会像预期的那样变黑。这就解决了雪豹的问题