2010-12-13 16 views
0

こんにちは、私は最近、クォーツを使用するために私たちの古いクイックドローコードを移動しています。ドキュメント("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で展開しています。これはSnow Leopardにのみ影響すると思われ、私の研究ではこれに似た問題は発生していません。あなたの提案をありがとう!

答えて

1

kCGDirectMainDisplayの代わりにCGGetActiveDisplayList()から返された値を使用して表示をキャプチャすると、複数のディスプレイの実装を追加した後、画面が期待どおりに黒く表示されません。これはSnow Leopardの問題を解決します。

関連する問題