如何从RGB值获取最接近的颜色名称

时间:2015-07-24 06:49:27

标签: android bitmap

我试图从图像中获取彩色像素,然后使用开关盒和使用吐司显示将其与其他颜色进行比较,但问题是我无法使用开关盒匹配它。谁能帮我。 这是我的代码

        public boolean onTouch(View v, MotionEvent event) { 
            int x = (int)event.getX();
            int y = (int)event.getY();
            int pixel = bitmap.getPixel(x,y);
            switch (pixel) {
            case Color.RED:
                Toast.makeText(getApplicationContext(), "color", Toast.LENGTH_LONG).show();
                break;

            default:
                Toast.makeText(getApplicationContext(), "default", Toast.LENGTH_LONG).show();
                break;
           }


            return false;
        }

1 个答案:

答案 0 :(得分:0)

我认为案例永远不会匹配的原因是因为你得到的像素不完全是 Color.RED 。你能打印一些日志来检查像素到底是什么。

真正的问题应该是如何获取RGB值的颜色名称,而here就是您正在寻找的答案。

下面我将向您展示一个更直接但不是那么严肃的功能:

@Before
public void pre() {
     // your login here
}

@Test
public void testA() {
     // prints A
}

@Test
public void testB() {
     // prints B
}

@After
public void end() {
     // logout
}