java - 计算位图中的点数

标签 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

最佳答案

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

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

关于java - 计算位图中的点数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40903763/

相关文章:

android - 任何人都可以获取我的数据库引用并在 firebase 数据库中对其进行编辑吗

javascript - 在 Canvas 上用不同颜色绘制 2 个形状

java - Android 应用程序在恢复时忘记登录

java - 如何在eclipse中导出项目

java - 如何在MQTT消息到达之前保持线程

java - 使用 Java 8 java.time api 解析 ISO 时间戳(仅限标准版)

android - 如何在 Android Studio 的外部库中添加 jar?

JavaScript - 如何在 Canvas 上绘图并获取跟随鼠标的图像

javascript - 将图像加载到多个 Canvas 时出现问题

java - 仅获取响应代码而不是 url 的完整来源