2010-12-13 1 views
0

안녕하세요. 저는 최근에 quartz를 사용하기 위해 quickdraw 코드를 일부 옮겨 보았습니다. 문서 ("Display Capture Options" @ developer.apple.com)에 따르면 CGDisplayCaptureWithOptions()에 매개 변수로 kCGCaptureNoFill을 전달하여 캡쳐 된 화면을 검은 색으로 채우지 못하게 할 수 있습니다. 나는 그것을 이렇게 사용하고있다 :CGDisplayCaptureWithOptions (kCGDirectMainDisplay, kCGCaptureNoFill) 여전히 화면이 검은 색으로 채워져 있습니다.

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

그러나 화면은 여전히 ​​검은 색으로 채워진다. 내가 잘못 사용하고 있거나 내가 빠진 것이 명백한가요?

우리는 10.5 SDK로 구축 중이며 중요한 경우 10.4.x에 배포하고 있습니다. 이것은 스노우 레오파드에만 영향을 미치는 것으로 보입니다. 나의 연구는 이와 비슷한 문제를 제기하지 않았습니다. 귀하의 제안에 감사드립니다!

답변

1

kCGDirectMainDisplay 대신 CGGetActiveDisplayList()에서 반환 된 값을 사용하여 디스플레이를 캡처하면 여러 디스플레이에 대한 구현을 추가 한 후 화면이 예상대로 검게되지 않습니다. 이것은 Snow Leopard의 문제를 해결합니다.