js-颜色功能相关

1 从图片中取近似的颜色

  适用于安卓设备,局限性要根据请求的图片,确定图片中的一个主色调,然后将主色调值转换为16进制颜色的值

function getMainColor() {
    var magic_color = ‘5053492’; //16进制 10进制表示为 ‘4d1c34’

    var  r = (magic_color & 0x00ff0000) >> 16,
         g = (magic_color & 0x0000ff00) >> 8,
         b = (magic_color & 0x000000ff);
return `rgb(${r},${g},${b})`; }

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位,得到的就是红色值。所以这句代码主要用来从一个颜色中抽取其组成色---红色的值。

posted @ 2017-05-02 17:22  Jesonhu  阅读(306)  评论(0编辑  收藏  举报
Top