Android ,base64转bitmap
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android ,base64转bitmap相关的知识,希望对你有一定的参考价值。
怎么样把base64 的一长串代码转化成bitmap(安卓),每次转换都报错:java.lang.IllegalArgumentException: bad base-64
这是我的代码:
public static Bitmap stringtoBitmap(String string)
//将字符串转换成Bitmap类型
Bitmap bitmap = null;
try
byte[] bitmapArray;
bitmapArray = Base64.decode(string, Base64.DEFAULT);
bitmap = BitmapFactory.decodeByteArray(bitmapArray, 0, bitmapArray.length);
catch (Exception e)
e.printStackTrace();
return bitmap;
我传参数就是在网上用图片生成的base64字符串,具体格式如下:
data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAAEsCAYAAAB5fY51AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAASdAAAEnQB3mYfeAAAIABJREFUeJzsvXmcXUWZ//95qu........GP4/AM6F2NNgroAAAAAASUVORK5CYII=
我去掉最前面的data:image/png;base64,再传入也不行,始终报上面那个错误,求大神指导!!
就是怎么把data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAAEsCAYAAAB5fY51AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAASdAAAEnQB3mYfeAAAIABJREFUeJzsvXmcXUWZ//95qu........GP4/AM6F2NNgroAAAAAASUVORK5CYII=
这样的一串转化为bitmap???
2 然后调用EncodeBase64函数,把Byte数组传入,函数返回Base64的字符串。
以上即可完成Base64转换。
反方向
1 然后调用DecodeBase64函数,把Byte64字符串传入,函数返回Byte数组。
2 把Bye数组内容写入文件,文件名为bitmap位图的bpm文件即可。追问
你的回答我刚刚百度看到过,求具体可解决问题的代码?
参考技术B 你读到的base64字符串不完整把收到的字符串,先写log看看是否正确完整
~
~
~追问
是完整的,中间太长了,我用....代替了,我把那串字符串放进在线解析都能获取到原来的图片。
追答异常都报是base64的异常,所以传给 Base64.decode的base64字符串肯定有问题。。。。。。不用怀疑方法不对。
追问关键是有什么问题?为什么丢到网页上的在线解析都可以,代码里却解析不出来
本回答被提问者采纳Android 怎么把imageview 转为Bitmap
参考技术A ImageView并不能转化为Bitmap,但是可以将上面的图保存, 有两种方式,一种是打开View的DrawCache,然后通过截图view得到,具体可以去百度:android view截图另一种方式是获取ImageView的drawable,然后通过Canvas将drawable画到bitmap上,具体可以百度: android drawable 转化bitmap 参考技术B 图片转成base64在转成bitmap
以上是关于Android ,base64转bitmap的主要内容,如果未能解决你的问题,请参考以下文章
android 图片转BASE64上传提示java.lang.OutOfMemoryError