首页 > 解决方案 > 从 Imageview 中的图像中获取特定颜色的所有像素

问题描述

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

标签: javaandroidimageview

解决方案


尝试这个

  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;   
        }
    });

推荐阅读