android.graphics.Color ╰半夏微凉° 2022-02-27 00:52 189阅读 0赞 该类定义的都是些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,同样该函数没有范围检查,如果参数超出范围的话,返回的颜色也许是不可预知的
还没有评论,来说两句吧...