Apple は最近、OS X で 30 ビット カラーのサポートを有効にしました。これを有効にする方法を示すサンプル コードをいくつか投稿しました。ただし、30 ビット カラーをサポートするディスプレイでアプリが実行されていることを検出する方法の例を提供していないようです。
ディスプレイが 30 ビット カラーをサポートするタイミングを検出し、それをサポートするディスプレイに対してのみ 30 ビット カラーを有効にし、それ以外の場合は 24 ビット カラーに戻すことができるようにしたいと考えています。
誰もそれを行う方法を知っていますか?
これまでのところ、CGDisplay
API (CGDisplayCopyDisplayMode
およびCGDisplayModeCopyPixelEncoding
) を使用して、ディスプレイのピクセル エンコーディングを照会してみました。しかし、これらは常に 24 ビットのエンコーディングを返すようCGDisplayModeCopyPixelEncoding
で、Mac OS X 10.11 では廃止されました。「深度」プロパティも使用してみましNSScreen’s
たが、これもピクセルあたり 24 ビットを返します。
組み込みのシステム情報アプリは明らかにこの情報を取得できますが、どうやってそれを行っているのかわかりません。ヒントはありますか?