Android での色の表現

android-color.png

Androidでプログラミングする時、色は32bitのint型で表現される。

Alpha(32-23bit) Red(24-15bit) Green(16-9bit) Blue(8-1bit)
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 5 4 3 2 1 0

16進数で表現すると、
0xFFFFFFFFは完全に不透明な白
0xFF000000は完全に不透明な黒
0xFFFFFF00は完全に不透明な黄色

HSV形式

Color.colorToHSV(int color,float[] hsv);
でHSV形式のカラーコードがゲットできる。
hsv[0]=hue(0~360の値)1
hsv[1]=saturation 0.0-1.0の値
hsv[2]=val 0.0-1.0の値
hsv[1]やhsv[2]が範囲を超えてしまったら、色として認識されず、真っ黒になってしまうので要注意。

色のコードを知るのに便利なツール

色取鳥i….Windowsアプリ
ColorLovers.com….自分のお気に入りの色のコード組み合わせを記録しておくのに便利な、色のSNSサイト。
moreCrayons color cube….web上のカラーピッカー

0.0-1.0 形式の色表現からAndroidの色形式に変換する

android.graphics.colorのint, int, int) argb()関数を使う

import android.graphics.Color;
Color.argb(alpha,red,green,blue);

この関数の中身はこうなっているはず
static int     argb(int alpha, int red, int green, int blue){        
        return alpha<<24 | red<<16 | green<<8 | blue);
        }

color hsv rgb

サポートサイト Wikidot.com colorhsvrgb