计算位图中的点数

时间:2016-12-01 06:13:01

标签: java android canvas bitmap

我有一张图片,里面有6张(每张一个像素)白点,R = 240,G = 240,B = 240,如下图所示。

我正在使用下面的代码计算每个像素的颜色值,但问题是此方法没有给出确切的结果。

我在做正确的方法吗?如果是,为什么这种方法没有给出确切的结果?提前谢谢。

int getDotCount(Bitmap bm) {
        int count = 0;

        final int width = bm.getWidth();
        final int height = bm.getHeight();

        for (int x = 0; x < width; x++) {
            for (int y = 0; y < height; y++) {
                int pixel = bitmap.getPixel(x, y);

                //RGB value for dot is 240
                if (Color.red(pixel) == 240 &&
                        Color.red(pixel) == Color.blue(pixel) &&
                        Color.red(pixel) == Color.green(pixel)) {
                    count++;
                }
            }
        }

        return count;
    }

enter image description here

1 个答案:

答案 0 :(得分:3)

经过长时间的研究后,我终于弄明白了我的问题。我将上面的图像放在drawable文件夹中,然后由Android进行缩放。为避免缩放图像,我将其放入drawable-nodpi。它解决了我的问题。

谢谢所有试图帮助我的人。干杯!!!