Android如何加载Base64编码格式图片
短信预约 -IT技能 免费直播动态提醒
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如何加载Base64编码格式图片的详细内容,更多关于Android 加载Base64图片的资料请关注编程网其它相关文章!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341