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币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
安卓&nbsp;Bitmap类抓某个像素点的RGB
先截屏抓个图(ScreenCapture是我自己定义的一个截屏函数) String PicDictory1 = ScreenCapture.CaptureScreen("File1", true); 然后用工厂函数:         Bitmap bm1 = BitmapFactory.decodeFile(PicDictory1);         int pixel  = bm1.getP
android获取屏幕某一点的像素值
Android屏幕绘制基本与linux相同,都是使用Framebuffer机制来绘制屏幕。FrameBuffer提供接口将显示设备抽象为帧缓冲区。用户可以将它看成是显示内存的一个映像,将其映射到进程地址空间之后,就可以直接进行读写操作,应用程序可以简单地通过改变这段内存的值来改变屏幕上某一点的颜色。例如如果你想把一张bitmap图片显示到屏幕上去,你只要解析bitmap之后把数据bit cop
Unity获取屏幕上某一点的颜色
IEnumerator CaptureScreenshot()    {        //只在每一帧渲染完成后才读取屏幕信息        yield return new WaitForEndOfFrame();        Texture2D m_texture = new Texture2D(Screen.width, Screen.height, TextureFormat.RGB24...
VC获取屏幕任意一点rgb值,并显示对应颜色
基于MFC编写的获取屏幕上任意一点的rgb值,点击屏幕任意一点即可提取rgb值,也可实现调色作用,调整rgb值显示不同颜色。
android 根据坐标获取RGB
Bitmap src = BitmapFactory.decodeResource(getResources(),R.drawable.kit_adjust_color); int pixelColor = src.getPixel(seekColorBarIndex, 0); red = Color.red(pixelColor); green = Color.green(pixelColor)
获取当前显示屏幕某一点的颜色
获取当前显示屏幕某一点的颜色 获取当前屏幕的截图 -(UIImage *)fullScreenshots{ UIWindow *screenWindow = [[UIApplication sharedApplication] keyWindow]; UIGraphicsBeginImageContext(screenWindow.frame.size);//全屏截图,包括window
如何得到bitmap某一点像素的RGB值
对一个BMP图片进行分析,得到某一点的RGB值,设置某一点的RGB值.CMyDIB::CMyDIB(){   memset(&m_bfh, 0, sizeof(m_bfh));   memset(&m_bih, 0, sizeof(m_bih));   memset(&m_BitmapInfo, 0, sizeof(m_BitmapInfo));      m_nPaletteNum = 0;
cocos2dx 获取某像素点的rgba值
干货: Image* img = new Image(); img->initWithImageFile("....png"); Color4B getColor4B(float x, float y)     {         Color4B color = { 0, 0, 0, 0 };         if(x0.f || y0.f || x>getWidth()
Android 获取屏幕指定坐标的颜色
用到的API MediaProjectionManager MediaProjection VirtualDisplay ImageReader 原理:利用Android系统提供的投影功能把屏幕投影到ImageReader中,通过ImageReader获取到Bitmap,调用Bitmap的getPixel(x, y)方法获取到指定坐标的颜色。代码创建虚拟显示器 private static f
iOS获取UIView上某点的颜色值
项目需求中遇到获取`UIView`上某个坐标点的`RGB`颜色值的需求,现在把自己找到的解决方案简单总结记录一下,遇到了下面的情况: