首先,我知道使用inJustDecodeBounds
和inSample
size 以接近所需大小的大小加载位图的推荐方法。然而,这是一种相当广泛的方法,只能获得与目标近似的图像。
我想利用options.inDensity
并options.inTargetDensity
欺骗本机加载程序将图像更精确地缩放到所需的目标大小。基本上我设置options.inDensity
为图像的实际宽度和options.inTargetDensity
所需的宽度,我确实得到了所需尺寸的图像(在这种情况下,纵横比恰好保持不变)。然后我设置image.setDensity(DENSITY_NONE)
生成的图像,一切似乎都可以正常工作。
有人知道这种方法有什么问题吗?关于内存效率和图像质量的任何想法?