如何使用位图显示高分辨率图像?

时间:2019-01-10 06:19:22

标签: android bitmap android-image android-bitmap android-glide

如何在带位图的imageView中显示高分辨率图像?

我正在尝试使用位图显示图像。低分辨率图像在imageView中显示良好,但高分辨率图像显示不佳。当我选择任何高分辨率图像时,它将使imageView变为白色。 我该怎么解决?

  @Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {

    switch (requestCode) {
        case 1:
            if (resultCode == RESULT_OK) {
                Uri selectedImage = data.getData();

                String[] fillPathColumn = {MediaStore.Images.Media.DATA};

                Cursor cursor = getContentResolver().query(selectedImage, fillPathColumn, null, null, null);

                cursor.moveToFirst();

                String picPath = cursor.getString(cursor.getColumnIndex(fillPathColumn[0]));
                cursor.close();


                BitmapFactory.Options options = new BitmapFactory.Options();
                options.inPreferredConfig = Bitmap.Config.ARGB_8888;

                Bitmap bitmap = BitmapFactory.decodeFile(picPath, options);


                ByteArrayOutputStream out = new ByteArrayOutputStream();
                bitmap.compress(Bitmap.CompressFormat.JPEG, 0, out);


                imageView.setImageBitmap(bitmap);


            }
    }

}

1 个答案:

答案 0 :(得分:0)

找到了使用Glide from here加载高分辨率图像的方法。

如果图像需要长时间设置,请在此处更改质量

bitmap.compress(Bitmap.CompressFormat.JPEG, 50, out);