Android如何加载Base64编码格式图片
程序员文章站
2022-07-06 09:16:56
base64是传输字节码的编码,android开发过程中,图片的加载多数是请求url路径或者加载本地的图片,当然也有加载服务器用base64编码过的图片,比如图形验证码。当然图形验证码我们androi...
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图片的资料请关注其它相关文章!
推荐阅读
-
Android如何加载Base64编码格式图片
-
Android 图片数据格式转换url图片地址转base64,url转Bitmap,Bitmap转base64,base64转Bitmap,ImageView 加载Bitmap,旋转图片角度
-
java将图片转化为base64和base64转化为图片编码并保存在本地;以及android转base64编码
-
Android图片转换为Base64编码
-
Nodejs如何把接收图片base64格式保存为文件存储到服务器上
-
HTML上如何加载emf格式图片?_html/css_WEB-ITnose
-
Tp框架如何接受ios端post过来的base64编码的图片 并且把图片路径保存
-
[原创] 连载 1 - 深入讨论 Android 关于高效显示图片的问题 - 如何高效的加载大位图
-
android加载网络图片(逐行扫描格式png图片)的一个bug
-
android图片加载库Glide4使用教程(项目中如何快速将Glide3替换成Glide4)