标签:
该类定义的都是些static常量和函数,这些函数都是为了创建和转化成int型的color。颜色是由int型的数表示,由4个字节组成,分别是A R G B,这个int型的值是确定的,透明度的值只能存在A这个字节上,不能存在颜色的字节上。存储的方式为(alpha << 24) | (red << 16) | (green << 8) | blue.每一部分的取值范围都是0-255,0表示没有,255表示填满了。不透明的黑色的值是0xff000000,不透明的白色的值是0xffffffff.
把HSV的内容转化成color,其中alpha设置成0xff,hsv有三个成员,hsv[0]的范围是[0,360),表示色彩,hsv[1]范围[0,1]表示饱和度,hsv[2]范围[0,1]表示值,如果它们的值超出范围,那么它们会被截断成范围内的值。
同上,不过alpha的值不再是0xff,而是由参数来设定
将RGB的值转化成hsv值
获取color的alpha值,相当于color>>24;
获取color的blue值,相当于color&0xff;
从ARGB的值中获得一个int型color,注意每个参数的范围是0-255,由于没有范围检查,如果超出范围的话,返回的颜色值是不可预知的。
将颜色的值转换成hsv值,相当于RGBToHSV(((color>>16)&0xff),((color>>8)&0xff),(color&0xff),hsv);
获取color的green值,相当于(color>>8)&0xff
从字符串中解析出int型color,如果解析不出来,就会抛出异常,支持这样的格式#RRGGBB #AARRGGBB ‘red‘, ‘blue‘, ‘green‘, ‘black‘, ‘white‘, ‘gray‘, ‘cyan‘, ‘magenta‘, ‘yellow‘, ‘lightgray‘, ‘darkgray‘
获取color的red值,相当于(color>>16)&0xff
从RGB的值中获取一个int型color,其中alpha设置为0xff,同样该函数没有范围检查,如果参数超出范围的话,返回的颜色也许是不可预知的
标签:
原文地址:http://www.cnblogs.com/Free-Thinker/p/4831748.html