android 位图库中的 getWidth() 函数不是 return 真实图像高度

getWidth() function in bitmap library of android doesn't return true image height

我想使用 android.graphics.Bitmap 库通过我的 android 应用程序加载 .PNG 图像。我已成功加载它,但有些问题我无法解决。

我的图像像素数是 144*144,但是当我尝试使用 getWidth() 函数获取加载图像的宽度时,它 returns 432 即 144*3。

这是我尝试加载图片的方式:

mBitmapIn = loadBitmap(R.drawable.data);

其中loadBitmap函数定义为:

private Bitmap loadBitmap(int resource) {
    final BitmapFactory.Options options = new BitmapFactory.Options();
    options.inPreferredConfig = Bitmap.Config.ARGB_8888;
    return BitmapFactory.decodeResource(getResources(), resource, options);
}

如果有人能帮我找出原因,我将不胜感激。

谢谢

drawable 文件夹被认为具有 mdpi 的密度(即基线密度)。 Nexus 5 的密度为 445ppi,属于 xxhdpi 类别。因此,如果您读取 drawable-xxhdpi 目录中不存在的位图,系统将不得不在另一个目录中找到它并对其进行缩放。 xxhdpi 个屏幕的密度大约是 mdpi 个屏幕的 3 倍。由于 res 下唯一可绘制的文件夹是 drawable 本身,android 将其沿两个维度缩放 3 倍

您可以获得更多关于此的信息here