将位图转换为base64获取黑色位图时

时间:2016-10-18 05:32:55

标签: java android bitmap base64

我想将位图转换为base64以存储在sharedpreference中。每当我试图将它转换为base64时,黑色位图的格式不正确。

以下是将位图转换为base64的代码。

                            ByteArrayOutputStream baos = new ByteArrayOutputStream();
                            b123.compress(Bitmap.CompressFormat.JPEG, 100, baos);
                            byte[] b = baos.toByteArray();

                            encodedImage = Base64.encodeToString(b, Base64.DEFAULT);

感谢您提前帮助

2 个答案:

答案 0 :(得分:2)

试试这个:

try{
   byte [] encodeByte=Base64.decode(encodedString,Base64.DEFAULT);
   Bitmap bitmap=BitmapFactory.decodeByteArray(encodeByte, 0, encodeByte.length);
   return bitmap;
 }catch(Exception e){
   e.getMessage();
   return null;
 }

答案 1 :(得分:2)

您是JPEG格式的压缩图片,请使用PNG并尝试转换为base64。

 b123.compress(Bitmap.CompressFormat.PNG, 100, baos);