32ビットカラーの概要
June 18, 2007
Flash Player内でピクセルごとの色はそれぞれ32ビット長のバイナリ数値として格納され、アルファ、赤、緑、青の4つのチャンネルで構成されます。
カラーは32ビットの16進数で表現され、トータルで8桁になります。1つのチャンネルは2桁(8桁÷4チャンネル)を使ってチャンネルの強さを表します。
1つのチャンネルの値は10進数における0〜255を範囲とし、16進数では00〜FFと表現します。
10進数と16進数の関係
| 10進数 | 0 | 1 | 9 | 10 | 15 | 16 | 26 | 255 |
| 16進数 | 0 | 01 | 09 | 0A | 0F | 10 | 1A | FF |
10進数の255を2進数で表現するには11111111となり、8ビットを使用します。1つのチャンネルに8ビット必要なことから、4チャンネル×8ビットで32ビットカラーと言います。
アルファ、赤、緑、青の4チャンネルのうち、色を扱うチャンネルは3チャンネルです。1チャネルで256色ずつ表現できることから、赤256×緑256×青256の約1670万色を表現することができます。
16進数では接頭辞に0xをつけ、その後にアルファ、赤、緑、青の順にチャンネルの強さを指定します。
アルファはFFが不透明を意味し、例えば黒を表現するには0xFF000000のようになります。
メソッドによってはARGBではなくRGBをパラメータとする場合もあるので注意が必要です。
例えばBitmapDataクラスのコンストラクタBitmapData();だとARGBですが、GraphicsクラスのbeginFill()メソッドではRGBで色を扱います。
10進数カラーから16進数カラーへの変換と、16進数カラーから10進数カラーへの変換を試しました(練習がてらFlex Builder 3で作ってみた)。
10進数16進数カラー変換

参考URL
Adobe Flex 2 リファレンスガイド uintクラス
Adobe Flash 8 のイメージ API の概要 ActionScript によるビットマップの使用
Trackback
Trackback URL for this entry:


















