欢迎来到代码驿站!

Android代码

当前位置:首页 > 移动开发 > Android代码

Android如何加载Base64编码格式图片

时间:2021-10-06 09:08:13|栏目:Android代码|点击:

Base64是传输字节码的编码,Android开发过程中,图片的加载多数是请求URL路径或者加载本地的图片,当然也有加载服务器用Base64编码过的图片,比如图形验证码。当然图形验证码我们Android也可以用代码写,这里就介绍Android端加载Base64编码的图片。话不多说,直接上代码:

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

    //Base64编码地址(地址太长,省略)
    String base64String = "data:image/jpeg;base64,/9j/4AAQSkZJRgA...........";
    //将Base64编码字符串解码成Bitmap
    byte[] decodedString = Base64.decode(base64String.split(",")[1], Base64.DEFAULT);
    Bitmap decodedByte = BitmapFactory.decodeByteArray(decodedString, 0, decodedString.length);
    //设置ImageView图片
        imageView.setImageBitmap(decodedByte);

编码后的图片会有” 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;
    }

到这里就结束啦!

上一篇:Android中转场动画的实现与兼容性处理

栏    目:Android代码

下一篇:Android UI设计与开发之使用ViewPager实现欢迎引导页面

本文标题:Android如何加载Base64编码格式图片

本文地址:http://www.codeinn.net/misctech/178878.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有