0

我有一个图像的 URI,我试图将其加载到 imageView 中。

Uri imageUri = /* URI goes here */
Bitmap bitmap = MediaStore.Images.Media.getBitmap(this.getContentResolver(), imageUri);
Imageview iv = (Imageview) findViewById (R.id.my_img_view);
iv.setImageBitmap(bitmap); 

图像以其全分辨率加载(高达 21 兆像素导致内存不足异常)。我的应用程序不需要使用全分辨率图像,因此我希望缩小图像以满足以下条件:

  1. 如果图像高度大于宽度(即纵向),则将宽度缩放到 1024 像素,并将高度缩放到适当的值以保持纵横比。

  2. 如果图像宽度大于高度(即横向),则将高度缩放为 1024 像素,并将宽度缩放到适当的值以保持纵横比。

  3. 如果图像是正方形,则将其缩放为 1024x1024

有什么方法可以在将位图应用到 imageView 之前缩放位图(甚至在 Media.getBitmap 之前更好)?

4

1 回答 1

0

试试这个库: https ://github.com/AndroidDeveloperLB/AndroidJniBitmapOperations

这个库涵盖了几乎所有的位图操作,如缩放、旋转、裁剪..等

于 2015-05-14T10:31:43.590 回答