2012-09-03 3 views
6

Ich muss einige Aufgaben ausführen, die auf die Bildschirmdaten im Framebuffer von OS X zugreifen müssen. In 10.6.8 können wir die Framebuffer-Basisadresse mit der Quart Display Service API erhalten, aber wir kann dies nicht in 10.7 oder 10.8 tun.mac os x access framebuffer rohe Daten

Apple schlagen vor, das Bildschirmbild mit CGDisplayCreateImage zu erhalten. Es ist jedoch ineffizient, die Rohbilddaten zu erhalten, da wir das erhaltene Bildobjekt in einen Kontext zeichnen müssen.

Gibt es andere Möglichkeiten, die Rohdaten eines Framebuffers zu erhalten?

Antwort

0

Sie müssen das von CGDisplayCreateImage zurückgegebene Bild nicht zeichnen, um die Rohbilddaten abzurufen. Sie können CGImageGetDataProvider gefolgt von CGDataProviderCopyData verwenden, um die Daten von ihm zu erhalten.