我使用Bitmap从res加载了一个640 x 480(in px)的jpg图像。
bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.bmp);
但我发现:
为什么?
答案 0 :(得分:3)
这取决于你的手机。由于android支持多个屏幕,为了允许位图在不同屏幕上以相同方式缩放,存储原始位图以满足屏幕密度。鉴于您发布的价值似乎您的手机有xdpi屏幕。如果您的移动设备是mdpi,则getHeight()和getWidth可能会返回480和640。有关详细信息,请参阅here
答案 1 :(得分:2)
这是因为您未指定任何BitmapFactory.Options
,特别是inTargetDensity
字段。请尝试使用decodeResource(Resources, resId, BitmapFactory.Options)
方法。