为什么TypedValue.applyDimension()与BitmapFactory.decodeResource()的缩放方式不同?

时间:2012-07-12 03:05:19

标签: android

我有一个100x100的图像和一些我要放置的坐标,与图像的尺寸相同。我用BitmapFactory.decodeResource()加载图像,然后缩放到133x133。但是,当我使用TypedValue.applyDimension()TypedValue.COMPLEX_UNIT_DIP来缩放我的坐标时,我会得到x2而不是x1.33的缩放系数。

如何确保我的坐标和图像按比例缩放?

1 个答案:

答案 0 :(得分:0)

我正在xhdpi设备上测试,但我没有任何xhdpi资源,所以decodeResource()抓住我的hdpi资源并按比例扩大2 / 1.5 = 1.33。

正确的解决方案似乎是您应该以与mdpi资源相同的比例指定坐标,并确保以与android预期相同的比例缩放备用大小的drawable,然后使用TypedValue.applyDimension()进行缩放你的坐标。