コンピュータ デザイン 発表、ニュース

オラ、ドラゴンレーダーを作るぞ(12)

*** 12.1 LCDでの色表現

LCDを自由自在(?)に使いこなせることが分かったので、早速画面のデザインをしようと思ったのですが、LCDでの色表現ってHTMLでいう「#FFFFFF(白色)」みたいな表記ではないことに改めて気づきました。

FFFFFFはすなわち24ビットカラーですが、ILI9325などのLCDで色を指定する場合は16bitで指定する必要があります。
白色は0xffffですし、青色は0x001fといった感じです。

そういう色見本みたいのがどこかに転がってるんだろうと、軽~く考えて検索してみたのですが、なぜか見つからない!?
拾ったライブラリなどでは「#define ORANGE 0xFC00」みたいに定数定義していたりします。

それじゃあということで、色見本ページを作りました。
カラーピッカーも作りましたので、欲しい色の16bitカラーが確認できると思います。

16bit Color Picker & Color List

・・・それとも、本当はみんな違う方法で色指定しているんでしょうか??
う~ん、不明だ。

2 comments

  1. propfan

    はじめまして。ILI9325で検索して辿りつきました。
    16bitカラーであれば、各色5bit(0~31)として、

    color_code = b | (g << 6) | (r << 11);

    で計算できます。また、

    color_code = b | (g << 5) | (r << 11);

    とすれば、g チャネルだけは 6bit(0~63) 使えます。

  2. smilkobuta Post author

    おおう!素晴らしい情報をありがとうございます!!
    ビット操作をこれまでほとんど使ったことがないため、こういうテクニックを教えていただけるとすごく助かります。

    ドラゴンレーダーに活用させていただきます!

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

Comments links could be nofollow free.