【问题标题】:Issue in Covert from String Base64 to Bitmap从字符串 Base64 到位图的隐蔽问题
【发布时间】:2015-06-26 13:36:29
【问题描述】:

用于将Bitmap 转换为String Base64 的代码内容

Bitmap thumbnail = extras.getParcelable("data");
ByteArrayOutputStream baos = new ByteArrayOutputStream();
thumbnail.compress(Bitmap.CompressFormat.JPEG, 100, baos);
thumbnail.recycle();
byte[] b = baos.toByteArray();
String attachment = Base64.encodeToString(b, Base64.DEFAULT);

用于将String Base64 转换为Bitmap 的代码内容

byte[] encodeByte = Base64.decode(strBase64, Base64.DEFAULT);
Bitmap bitmap = BitmapFactory.decodeByteArray(encodeByte, 0, encodeByte.length);
imageView.setImageBitmap(bitmap);

但我得到bitmap = null;

我也参考Base64 to Bitmap to display in ImageView

提前致谢。

【问题讨论】:

  • 显示你的编码,你解码正确
  • 查看更新问题

标签: android bitmap base64


【解决方案1】:
  // convert Bitmap to String
    public static String BitMapToString(Bitmap bitmap) {
        ByteArrayOutputStream baos = new ByteArrayOutputStream();
        bitmap.compress(Bitmap.CompressFormat.PNG, 100, baos);
        byte[] arr = baos.toByteArray();
        imageData = Base64.encodeToString(arr, Base64.DEFAULT);
        return imageData;
    }

    // Convert String to Bitmap
    public static Bitmap StringToBitMap(String image) {
        try {
            byte[] encodeByte = Base64.decode(image, Base64.DEFAULT);
            Bitmap bitmap = BitmapFactory.decodeByteArray(encodeByte, 0,
                    encodeByte.length);
            return bitmap;
        } catch (Exception e) {
            e.getMessage();
            return null;
        }
    }

【讨论】:

  • 为您的工作加一个。很棒的方法,即使我使用相同
  • 我将 String Base64 放在 HTML 格式的 web 视图中,然后它工作正常,但在上面的代码中不起作用
【解决方案2】:

你在加载位图后调用thumbnail.recycle();,要么删除它,要么在加载位图之前调用

【讨论】:

    猜你喜欢
    • 2017-01-05
    • 2012-03-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多