RGB颜色表示方法,red = (rgb & 0x00ff0000) >> 16是什么意思? |
您所在的位置:网站首页 › cameo是什么意思颜色 › RGB颜色表示方法,red = (rgb & 0x00ff0000) >> 16是什么意思? |
RGB颜色是由红(Red)、绿(Green)、蓝(Blue)三原色组成的,所以可以使用这三个颜色的组合来代表一种具体的颜色,其中R、G、B的每个数值都位于0-255之间。在表达颜色的时候,即可以使用三个数字来表达,也可以使用一个格式如0X00RRGGBB这样格式的十六进制来表达,下面是常见颜色的表达形式: 红色:(255,0,0)或0x00FF0000 绿色:(0,255,0)或0x0000FF00 蓝色:(255,255,255)或0x00FFFFFF 在编写Android彩色图像处理程序时,需要对图像进行灰度化和二值化处理,很多地方不懂,在借鉴别人的代码是看到这样的表示: red = (rgb & 0x00ff0000) >> 16; 首先将颜色值与十六进制表示的00ff0000进行“与”运算,运算结果除了表示红色的数字值之外,GGBB部分颜色都为0,在将结果向右移位16位,得到的就是红色值。所以这句代码主要用来从一个颜色中抽取其组成色---红色的值。 int color = 0x0012faff; 例如:我们已经获取一种颜色,如上所示color。那么下面这段代码的结果将会是18,它是0x12的十进制表示值。 int redOnly = color & 0x00ff0000; System.out.println(redOnly >> 16); 同样的,我们也可以通过以下代码得到green和blue的值: int green = (color & 0x0000ff00) >> 8; // 250 = 0xfa int blue = (color & 0x000000ff); // 255 = 0xff
|
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |