標籤:
該類定義的都是些static常量和函數,這些函數都是為了建立和轉化成int型的color。顏色是由int型的數表示,由4個位元組組成,分別是A R G B,這個int型的值是確定的,透明度的值只能存在A這個位元組上,不能存在顏色的位元組上。儲存的方式為(alpha << 24) | (red << 16) | (green << 8) | blue.每一部分的取值範圍都是0-255,0表示沒有,255表示填滿了。不透明的黑色的值是0xff000000,不透明的白色的值是0xffffffff.
public static int HSVToColor(float[] hsv)
把HSV的內容轉化成color,其中alpha設定成0xff,hsv有三個成員,hsv[0]的範圍是[0,360),表示色彩,hsv[1]範圍[0,1]表示飽和度,hsv[2]範圍[0,1]表示值,如果它們的值超出範圍,那麼它們會被截斷成範圍內的值。
public static int HSVToColor(int alpha, float[] hsv)
同上,不過alpha的值不再是0xff,而是由參數來設定
public static void RGBToHSV(int red, int green, int blue, float[] hsv)
將RGB的值轉化成hsv值
public static int alpha(int color)
擷取color的alpha值,相當於color>>24;
public static int blue(int color)
擷取color的blue值,相當於color&0xff;
public static int argb(int alpha, int red, int green, int blue)
從ARGB的值中獲得一個int型color,注意每個參數的範圍是0-255,由於沒有範圍檢查,如果超出範圍的話,返回的顏色值是不可預知的。
public static void colorToHSV(int color, float[] hsv)
將顏色的值轉換成hsv值,相當於RGBToHSV(((color>>16)&0xff),((color>>8)&0xff),(color&0xff),hsv);
public static int green(int color)
擷取color的green值,相當於(color>>8)&0xff
public static int parseColor(String colorString)
從字串中解析出int型color,如果解析不出來,就會拋出異常,支援這樣的格式#RRGGBB #AARRGGBB ‘red‘, ‘blue‘, ‘green‘, ‘black‘, ‘white‘, ‘gray‘, ‘cyan‘, ‘magenta‘, ‘yellow‘, ‘lightgray‘, ‘darkgray‘
public static int red(int color)
擷取color的red值,相當於(color>>16)&0xff
public static int rgb(int red, int green, int blue)
從RGB的值中擷取一個int型color,其中alpha設定為0xff,同樣該函數沒有範圍檢查,如果參數超出範圍的話,返回的顏色也許是不可預知的
android.graphics.Color