Moin.
Ich prügel mich gerade mit Core Graphics und den Displayinformationen rum.
Momentan führt Core Graphics.
Ich möchte gern die "Bits per Pixel", also die Farbtiefe des aktuellen Displays auslesen.
Normalerweise kein Problem.
So weit bin ich schon mal gekommen.
Besagte Referenz sagt mir auch ganz ehrlich, dass sie 32 Bits Per Pixel hat.
Nun dachte ich mir, ich nutze einfach CGDisplayBitsPerPixel(CGDisplayModeRef), aber das ist mit 10.6 deprecated.
Es wird auf CGDisplayModeCopyPixelEncoding(CGDisplayModeRef) hingewiesen.
Dieses liefert mir ein ganz schlichtes:
"--------RRRRRRRRGGGGGGGGBBBBBBBB"
Die Dokumentation zu diesem nichtssagenden String erklärt:
Joah, das habe ich getan.
Das Struct der Wahl wäre für mich vermutlich IOPixelInformation.
Tja, nun lassen mich aber meine Kenntnisse in komplexen C-Aufgabenstellungen im Stich.
Wie bekomme ich aus dem CFString "--------RRRRRRRRGGGGGGGGBBBBBBBB" jetzt ein IOPixelInformation.bitsPerPixel=32 raus?
Und was mir fast noch wichtiger ist: woher weiß ich das?
Ach ja, das Offensichtliche habe ich versucht.
Liefert den Fehler:
Ich prügel mich gerade mit Core Graphics und den Displayinformationen rum.
Momentan führt Core Graphics.

Ich möchte gern die "Bits per Pixel", also die Farbtiefe des aktuellen Displays auslesen.
Normalerweise kein Problem.
So weit bin ich schon mal gekommen.
Besagte Referenz sagt mir auch ganz ehrlich, dass sie 32 Bits Per Pixel hat.
Nun dachte ich mir, ich nutze einfach CGDisplayBitsPerPixel(CGDisplayModeRef), aber das ist mit 10.6 deprecated.
Es wird auf CGDisplayModeCopyPixelEncoding(CGDisplayModeRef) hingewiesen.
Dieses liefert mir ein ganz schlichtes:
"--------RRRRRRRRGGGGGGGGBBBBBBBB"
Die Dokumentation zu diesem nichtssagenden String erklärt:
The returned string can be used to determine various aspects of the pixel encoding, such as bits per pixel and bits per sample. For more information, see the header file IOKit/IOGraphicsTypes.h in I/O Kit Framework Reference.
Joah, das habe ich getan.
Das Struct der Wahl wäre für mich vermutlich IOPixelInformation.
Tja, nun lassen mich aber meine Kenntnisse in komplexen C-Aufgabenstellungen im Stich.
Wie bekomme ich aus dem CFString "--------RRRRRRRRGGGGGGGGBBBBBBBB" jetzt ein IOPixelInformation.bitsPerPixel=32 raus?
Und was mir fast noch wichtiger ist: woher weiß ich das?

Ach ja, das Offensichtliche habe ich versucht.
Liefert den Fehler:
file://localhost/XcodeProjects/openglspiele/openglspiele/PreferencesWindowController.m: error: Semantic Issue: Array type 'IOPixelEncoding' (aka 'char [64]') is not assignable
«Applejack» "Don't you use your fancy mathematics to muddle the issue!"
Iä-86! Iä-64! Awavauatsh fthagn!
Iä-86! Iä-64! Awavauatsh fthagn!
kmr schrieb:
Ach, Du bist auch so ein leichtgläubiger Zeitgenosse, der alles glaubt, was irgendwelche Typen vor sich hin brabbeln. :-P
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Lucas de Vil ()
