我想显示72x72像素的外部存储图像。 我的设备密度很高。 图像视图的高度和宽度是“wrap_content”。从Android上的外部存储加载时发生图像大小问题
如果我加载图片或使用URL,我会得到不同的结果。
如果我使用这样的URL,那么结果将是大约48x48px。
imageView.setImageURI(Uri.fromFile(file));
如果我加载位图的结果如预期72x72像素:
InputStream is = context.getContentResolver().openInputStream(Uri.fromFile(file));
Bitmap b = BitmapFactory.decodeStream(is, null, null);
is.close();
iv2.setImageBitmap(b);
你可以看到结果这里:
它会更好,如果我可以使用setImageURI
而不是预加载 图像,我也想在appwidgets中显示图像。 你能告诉我是什么原因引起的差异,我该如何避免它?
@Waynn:你已经拥有[内嵌图片的权限](http://stackoverflow.com/privileges/new-user),请在将来的编辑中这样做。 :) – sarnold 2012-03-09 11:22:21
可以做!对不起,我总是害怕编辑*太多*。 :) – 2012-03-09 11:25:08
不同之处在于'imageView.setImageURI()'将'BitmapFactory.Options.inScreenDensity'设置为'DisplayMetrics.DENSITY_DEVICE'。这会导致不同的缩放比例。 – zapl 2012-03-09 11:26:17