String 怎么转换为bitmap呢? 安卓 and java

ByteArrayOutputStreamstream=newByteArrayOutputStream();photo.compress(Bitmap.Compress... ByteArrayOutputStream stream = new ByteArrayOutputStream();
photo.compress(Bitmap.CompressFormat.JPEG, 60, stream);//压缩图片
byte[] b = stream.toByteArray();
// 将图片流以字符串形式存储下来
String tp = new String(Base64Coder.encodeLines(b));
我想把这个过程逆向为String 转换成bitmap,该怎么写呢?
展开
 我来答
匿名用户
推荐于2016-08-07
展开全部
public 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;
 }
    
     
public String bitmaptoString(Bitmap bitmap){
 
//将Bitmap转换成字符串
   String string=null;
   ByteArrayOutputStream bStream=new ByteArrayOutputStream();
   bitmap.compress(CompressFormat.PNG,100,bStream);
   byte[]bytes=bStream.toByteArray();
   string=Base64.encodeToString(bytes,Base64.DEFAULT);
   return string;     
    
}
追问
我试过。。不行-=-
追答
/**  
* string转成bitmap
*
* @param st
*/
public static Bitmap convertStringToIcon(String st)
{
// OutputStream out;
Bitmap bitmap = null;
try
{
// out = new FileOutputStream("/sdcard/aa.jpg");
byte[] bitmapArray;
bitmapArray = Base64.decode(st, Base64.DEFAULT);
bitmap =
BitmapFactory.decodeByteArray(bitmapArray, 0,
bitmapArray.length);
// bitmap.compress(Bitmap.CompressFormat.PNG, 100, out);
return bitmap;
}
catch (Exception e)
{
return null;
}
}
秋枫暮霞挽红曲z
推荐于2018-04-04 · TA获得超过3815个赞
知道小有建树答主
回答量:517
采纳率:50%
帮助的人:269万
展开全部
FileOutputStream fos = null;
bitNameStr = "a.png";

String result = "操作失败";

//保存图片到本地
String toDir = "F:\\WebService\\upload"; // 存储路径
byte[] buffer = new BASE64Decoder().decodeBuffer(bitStr); // 对android传过来的图片字符串bitStr进行解码
File destDir = new File(toDir);
if( !destDir.exists() )
destDir.mkdir();
fos = new FileOutputStream(new File(destDir, bitNameStr)); // 保存图片
fos.write(buffer);
fos.flush();
fos.close();

转换Bitmap的话因为上面已经得到了byte[],所以就可以这样
BitmapFactory.decodeByteArray(data, 0, data.length);
这句会返回一个位图对象
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式