gpt4 book ai didi

android - 位图返回奇怪的颜色值

转载 作者:行者123 更新时间:2023-11-29 00:28:15 24 4
gpt4 key购买 nike

我正在尝试将标准 .jpeg 图像传输到 Color 值数组中,这些值通过 Bitmap 的 getPixels 方法存储为 int 值。我的代码将加载图像并将其数据发送到一维 int 数组,但是当我将它们与原始图像进行比较时,某些值没有任何意义。我知道图像正在被正确读入,因为我有我的程序将它打印到屏幕上。有谁知道为什么我的输出包含如此奇怪的值?

        /* Test */
ImageView image = (ImageView) findViewById(R.id.imageView1);
Bitmap bMap = BitmapFactory.decodeResource(getResources(), R.drawable.testsmall);
image.setImageBitmap(bMap);

int[] pixels = new int[bMap.getHeight() * bMap.getWidth()];

bMap.getPixels(pixels, 0, bMap.getWidth(), 0, 0, bMap.getWidth(), bMap.getHeight());

int[][] colors2D = new int[bMap.getWidth()][bMap.getHeight()];
Log.i("State", "Start");
for (int x = 0; x < bMap.getWidth(); x++)
{
for (int y = 0; y < bMap.getHeight(); y++)
{
colors2D[x][y] = pixels[x + y * bMap.getWidth()];
Log.i("Inside", "X: " + x + ", Y: " + y + ", Pixel: " + pixels[x + y * bMap.getWidth()]);
}
Log.i("Outside", "New Line");
}
Log.i("State", "End");
/* End Test */

额外信息:

以下包含程序这部分的 LogCat 输出。奇怪的值在这里。 Android 的 Color 类将白色定义为 -1,将黑色定义为 -16777216。

http://pastebin.com/GxF4j0ef

这是testSmall.jpg。如您所见,它非常小。尺寸仅为 16x16。

https://www.dropbox.com/s/8hbbopoaozuu9ya/testSmall.jpg

最佳答案

事实证明,图像是由 Android 操作系统缩放的。因为我把它放在了可绘制文件夹中。事实证明,如果你不想缩放图像,你应该把它放在一个名为 drawable-nodpi 的文件夹中。下面的链接帮助我解决了这个问题。

Bitmap getWidth returns wrong value

关于android - 位图返回奇怪的颜色值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17800208/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com