- ベストアンサー
ディスプレーのカラー表示ビットの割り当て
ディスプレーのカラー表示について質問です。 24bitフルカラーだと、「光の三原色であるR/G/Bがそれぞれ同じ8bitずつ情報をもち全部で256x256x256=1677万色を表示できる」ということは納得できます。 しかし、256色=2^8 や 16色=2^4 や32bitのときは、R/G/Bは何bitづつ情報を持つのでしょうか? R/G/Bそれぞれの持つbit数が違うのでしょうか? 教えてください。よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
32bitカラーは基本的には24bitと同じ各色8bitです。 昔は8bitのCPUとかだったので、8bit*3色で処理してましたが、現状32bitor64bitCPUが普及してきた為、8bit*3色+ダミー8bitの計32bit単位で一括処理したほうが効率が良くなったからです。 32768色はRGBの比率が5:5:5bitの計15bitです。 65535色はRGBの比率が5:6:5bitの計16bitです。 16/256色は、各色の割合を直接指定していません。 例えば、256色の場合には、カラーコードは0~255番号で指定され、その中身がどの色が入ってるか間接指定となります。 よく「65535色中256色」とか記載がされていると思いますが、実際に何色から選択できるかは仕様によります。) ただし、下記のような2種類の方式があります。 1つはインデックスカラー方式 各カラーコードに、予め基本色が決まってるものです。 2つめはカラーパレット方式 各カラーコードにどんな色を入れるのか、任意に変更できるものです。 モニターなどは、1の方式ですが、画像ソフトなどでは2の方式で色指定しますね。 参考 http://www.sugilab.net/jk/joho-kiki/1606/index.html
その他の回答 (2)
- SortaNerd
- ベストアンサー率43% (1185/2748)
16,256色のパレットについて。 Win3.1の16色は、 赤・青・緑・黄・マゼンタ・シアンの明暗2色ずつと、白・灰1・灰2・黒で16色 でした。 256色は各色5段階ずつの216色を標準にして残りは適当に埋めるのが一般的のようです。
お礼
回答ありがとうございました。 三人の方の回答で全ての疑問が解決できました。 今後またなにかありましたらよろしくお願いします。
- うぃず(@Wizard_Zero)
- ベストアンサー率69% (344/495)
Wizard_Zeroと申します。 16色、256色: あらかじめ用意された色をパレットとして定義し、パレットの何番目の色を使うか、という情報になります。RGBを各ビットで表すという概念ではありません。存在しない色がある場合は、一番近い色で表示したり、誤差拡散やディザリングという処理を施します。 16bit: 赤5ビット、緑6ビット、青5ビットの16ビットになります。256色同様、存在しない色は近い色で表示されます。緑だけ6ビットなのは、人の目が緑色の変化に敏感であるから、らしいです。 24bit: 赤青緑それぞれ8ビットで24ビットになります。 32bit: 本来24ビットまでしか表示できませんが、32ビットアプリケーションにあわせるため(=24ビットの変数がないため)色情報を32ビットで表します。結論としては、8ビット分は使われません。 (Windows2000からは、使われなかった8ビットを画像の透過度を表す「アルファ値」として使うようになりました。)
お礼
簡潔なまとめ方ですごくわかりやすかったです。 ありがとうございました。 緑色のbit数が多いのも、32bitの残り8bitの行方も理解できました。
お礼
わかりやすい説明ありがとうございました。 ダミー8bitが入っていたんですね。 16bitカラーでグリーンだけ6bitなのは、緑が人の目に認識されやすいからなのでしょうか。 少ないデータ数でよりカラフルに表示するためにいろんな工夫がされているのですね。