我的应用程序中有一些 .png 文件。我需要在运行时加载这些,并从中获取某些像素的确切颜色。重要的是,我不想缩放这些图片。我不会直接在用户界面上显示它们,它们充当地图。
现在,在Android 1.5上,这已经没有问题了。我将这些图像放在“/res/drawable”目录中,使用 BitmapFactory 将它们加载到 Bitmap 对象中,并使用它来获取所需像素的颜色。例如。像素 (100, 50) 的颜色为 RGB(100, 1, 100)。
在 Android 2.2 上,相同的过程会产生不同的颜色(对于相同的像素),因此对于相同的(100, 50)像素,我得到 RGB(99, 3, 102) / RGB(101, 2, 99) / 等。我检查了位图对象的分辨率,似乎没有缩放。
有人可以解释一下,为什么我会得到扭曲的颜色值?
已解决:看来,在 Android 2.2 上,我必须设置正确的位图配置。不知何故,2.2 以下的版本设法做到了这一点(或者可能支持的配置较少,并且系统正确地猜测了配置,我不知道)。
无论如何,这是我现在使用的代码:
BitmapFactory.Options opt = new BitmapFactory.Options();
opt.inDither=false;
opt.inPreferredConfig = Bitmap.Config.ARGB_8888;
Bitmap mask = BitmapFactory.decodeResource(getResources(), R.drawable.picture, opt);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)