2 baidu 28702947 baidu_28702947 于 2016.01.21 22:13 提问

安卓获取某屏幕某一点RGB值 5C

我现在获取到的是int型的color,如下
int color = (((BitmapDrawable)img.getDrawable()).getBitmap()).getPixel(x, y);
如何获取到RGB分别的R值,G值,B值呢

6个回答

Mr_dsw
Mr_dsw   Ds   Rxr 2016.01.21 23:30

这个真不知道,我平时都是用网上的转换工具

q3733353520
q3733353520   2016.01.22 14:32

rgb[0] = (pixel & 0xff0000) >> 16;

rgb[1] = (pixel & 0xff00) >> 8;

rgb[2] = (pixel & 0xff);

q3733353520
q3733353520   2016.01.22 14:32

pixels[i]=alpha<<24|red<<16|green<<8|blue;

qq_15771061
qq_15771061 吊炸天
接近 2 年之前 回复
Marksinoberg
Marksinoberg   Ds   Rxr 2016.01.24 08:55

你可以用一个java的知识点,可以获取到屏幕上任意一点的rgba四个属性值,我之前做过一个电脑版本的,挺好用的。代码量也超级少。希望能帮到你哈图片说明

jestar719
jestar719   2016.01.26 15:48

安卓里Color有静态方法.Color.red(int rgb),Color.blue(int rgb),Color.green(int rgb)
Color里还有其它的和颜色相关的静态方法.可以自己查看

crazy1235
crazy1235   Ds   Rxr 2016.02.01 13:52

利用Color类的静态方法。


 /**
     * Return the red component of a color int. This is the same as saying
     * (color >> 16) & 0xFF
     */
    public static int red(int color) {
        return (color >> 16) & 0xFF;
    }

    /**
     * Return the green component of a color int. This is the same as saying
     * (color >> 8) & 0xFF
     */
    public static int green(int color) {
        return (color >> 8) & 0xFF;
    }

    /**
     * Return the blue component of a color int. This is the same as saying
     * color & 0xFF
     */
    public static int blue(int color) {
        return color & 0xFF;
    }

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!