Android decodeBitmap的大小取决于密度

时间:2015-07-30 09:58:30

标签: android bitmap decoding

我正在尝试仅使用inJustDecodeBounds来解码位图。但是宽度和外径是原始图像尺寸的宽度。例如,如果图像位于xxhdpi文件夹中且手机的xhdpi密度为500 x 500px,则outWidth = 500,但它应该更小,因为我在xhdpi上运行它(我没有文件夹xhdpi drawables)。解码时有没有办法使用屏幕密度。  提前谢谢。

1 个答案:

答案 0 :(得分:0)

这是一种加载位图缩小版的方法: http://developer.android.com/training/displaying-bitmaps/load-bitmap.html#load-bitmap

您可以使用此处的值计算reqWidth和reqHeight:http://developer.android.com/reference/android/util/DisplayMetrics.html

喜欢:

int currentWidth = 500;
DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
reqWidth = currentWidth * (metrics.densityDpi/(float)DisplayMetrics.DENSITY_XXHIGH );