从Imageview中的图像获取特定颜色的所有像素

时间:2018-06-26 06:57:04

标签: java android imageview

我正在尝试从imageview中的图像中获取特定颜色的所有像素。例如,在附加的图像中,我需要将所有红色的像素放入数组中。甚至有可能这样做吗?如果是这样,请指向正确的方向sample_image

1 个答案:

答案 0 :(得分:1)

尝试

  imageView.setOnTouchListener(new View.OnTouchListener() {

        @Override
        public boolean onTouch(View v, MotionEvent ev) {
            // TODO Auto-generated method stub
            ImageView img = (ImageView) v;

            final int evX = (int) ev.getX();
            final int evY = (int) ev.getY();

            img.setDrawingCacheEnabled(true);
            Bitmap imgbmp = Bitmap.createBitmap(img.getDrawingCache());
            img.setDrawingCacheEnabled(false);

            try {
                int pxl = imgbmp.getPixel(evX, evY);

                pickedColorView.setBackgroundColor(pxl);
                int redValue = Color.red(pxl);
                int blueValue = Color.blue(pxl);
                int greenValue = Color.green(pxl);


            }catch (Exception ignore){
            }
            imgbmp.recycle();

            return true;   
        }
    });