как получить цвет в месте (или пикселе) изображения на сенсорном событии в android

Я хочу получить цвет пятна или пикселя, где я коснусь изображения в Android. Я много искал в сети, но ничего не нашел. Пожалуйста, помогите мне.

2 ответов


попробуйте это:

final Bitmap bitmap = ((BitmapDrawable)imageView.getDrawable()).getBitmap();
imageView.setOnTouchListener(new OnTouchListener(){
        @Override
        public boolean onTouch(View v, MotionEvent event){
        int x = (int)event.getX();
        int y = (int)event.getY();
        int pixel = bitmap.getPixel(x,y);

        //then do what you want with the pixel data, e.g
        int redValue = Color.red(pixel);
        int blueValue = Color.blue(pixel);
        int greenValue = Color.green(pixel);        
        return false;
        }
   });

вы можете вычислить координаты изображения пикселя, который был нажат, и прочитать пиксель из данных изображения, например

Bitmap.getPixel(xcord,ycord)