2 chingxing chingxing 于 2015.06.08 10:21 提问

android 怎样识别图片颜色,比如黄色

Android 颜色用十六进制识别,比如int r = (pixel & 0xff0000) >> 16;

0个回答

danielinbiti
danielinbiti   Ds   Rxr 2015.06.08 10:24
已采纳
 int rgb=img.getRGB(i, j);
      int R = (rgb & 0xff0000) >> 16;
      int G = (rgb & 0xff00) >> 8;
          int B = (rgb & 0xff);
chingxing
chingxing 回复danielinbiti: 如果是int r=(pixel>>16)&0xff;int g=(pixel>>8)&0xff;int b=pixel&0xff;黄色该怎么写
大约 3 年之前 回复
chingxing
chingxing 回复danielinbiti: 好的,真是帮我大忙了,谢谢您
大约 3 年之前 回复
danielinbiti
danielinbiti 回复chingxing: 那肯定大于呀,y是RGB合起来的。肯定比R,比G什么都大。呀。就这样if(R==255&&G==255&&B==0){yellowNum++;}
大约 3 年之前 回复
chingxing
chingxing 回复danielinbiti: y是rgb & 0x00
大约 3 年之前 回复
danielinbiti
danielinbiti 回复chingxing: 如果你要判断是不是255,255,0的话,那就按照上面把R,G,B都取出来,然后判断R==255,G==255,B==0
大约 3 年之前 回复
danielinbiti
danielinbiti 回复chingxing: y是什么呀?
大约 3 年之前 回复
chingxing
chingxing int B = (rgb & 0xff);int B = (rgb & 0x00);else if(y>R&y>G&&y>B){yellowNum++;}我这样写有错吗,为什么颜色还是显不出来
大约 3 年之前 回复
chingxing
chingxing 回复danielinbiti: int R = (rgb & 0xff0000) >> 16;int G = (rgb & 0xff00) >> 8;
大约 3 年之前 回复
chingxing
chingxing 回复danielinbiti: 谢谢,我试试
大约 3 年之前 回复
danielinbiti
danielinbiti 回复chingxing: 不用移位,把末位2个字节置0,int yellow = (rgb & 0x00);
大约 3 年之前 回复
danielinbiti
danielinbiti 不用移位,把末位2个字节置0,int yellow = (rgb & 0x00);
大约 3 年之前 回复
chingxing
chingxing 回复danielinbiti: 就是255,255,0这个黄色是这样写吗 y=(pixel & 0xffff00) >> 16>>8
大约 3 年之前 回复
danielinbiti
danielinbiti 回复chingxing: 黄颜色是一个混合颜色,不是基色,自己设置一个RGB范围,再和基色做比较是否在这范围内。
大约 3 年之前 回复
danielinbiti
danielinbiti 回复chingxing: 如果一般意义的黄颜色,那就是255,255,0
大约 3 年之前 回复
danielinbiti
danielinbiti 回复chingxing: 没理解你这黄颜色什么意思,没有黄颜色的定义呀
大约 3 年之前 回复
chingxing
chingxing 谢谢,三基色是这样取,如果是黄颜色呢
大约 3 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!