当前位置: 首页 > 工具软件 > jf-android > 使用案例 >

Android加载Base64编码格式的图片

曾高杰
2023-12-01

 

ImageView加载Base64编码图片,代码:

  1. //Base64编码地址(地址太长,省略)

  2. String base64String = "data:image/jpeg;base64,/9j/4AAQSkZJRgA...........";

  3. //将Base64编码字符串解码成Bitmap

  4. byte[] decodedString = Base64.decode(base64String.split(",")[1], Base64.DEFAULT);

  5. Bitmap decodedByte = BitmapFactory.decodeByteArray(decodedString, 0, decodedString.length);

  6. //设置ImageView图片

  7. i

 

编码后的图片会有” data:image/;base64, “标识,在进行解码时我们需要去掉这一部分,否则会导致解码失败。base64String.split(",")[1]就是获取除"data:image/;base64,"后的地址。

 

加载Base64编码的图片就是上述的方法,有时我们还需要对图片进行编码与解码,下面就列出方法。

 

编码:

public String encodeImageToString(Bitmap bitmap) {

    ByteArrayOutputStream outputStream = new ByteArrayOutputStream();

 //读取图片到ByteArrayOutputStream

   bitmap.compress(Bitmap.CompressFormat.PNG, 40, outputStream); //参数如果为100那么就不压缩

   byte[] bytes = outputStream.toByteArray();

   String strImg = Base64.encodeToString(bytes, Base64.DEFAULT);

   return strImg;

}

 

解码:

    public Bitmap sendImage(String imgAddress) {

       byte[] input = Base64.decode(imgAddress, Base64.DEFAULT);

       Bitmap bitmap = BitmapFactory.decodeByteArray(input, 0, input.length);

       return bitmap;

    }

 类似资料: