将位图转换为 base64 时得到黑色位图
When converting bitmap to base64 getting black bitmap
我想将位图转换为 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);
提前感谢您的帮助
试试这个:
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;
}
您是JPEG格式的压缩图片,请使用PNG并尝试在base64中转换。
b123.compress(Bitmap.CompressFormat.PNG, 100, baos);
我想将位图转换为 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);
提前感谢您的帮助
试试这个:
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;
}
您是JPEG格式的压缩图片,请使用PNG并尝试在base64中转换。
b123.compress(Bitmap.CompressFormat.PNG, 100, baos);