android.graphics.Color

该类定义的都是些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,同样该函数没有范围检查,如果参数超出范围的话,返回的颜色也许是不可预知的

原文地址:https://www.cnblogs.com/Free-Thinker/p/4831748.html