Android 怎么将图片转换为Base64
时间: 2024-10-08 08:14:13 浏览: 81
在Android中,将一张图片转换为Base64字符串通常是为了在网络请求、存储到本地数据库或者通过邮件发送时减少数据量。以下是将`Bitmap`转换为Base64字符串的基本步骤:
```java
import android.graphics.Bitmap;
import android.util.Base64;
public String bitmapToBase64(Bitmap bitmap) {
if (bitmap == null) return null;
ByteArrayOutputStream baos = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, baos); // 压缩质量为100%,可以根据需求调整
byte[] imageBytes = baos.toByteArray(); // 将字节流转换为数组
return Base64.encodeToString(imageBytes, Base64.DEFAULT); // 使用Base64标准编码格式
}
```
在这个例子中,我们先创建了一个`ByteArrayOutputStream`,然后用`compress`方法将`Bitmap`转换为字节数组,并将结果写入这个流。最后,使用`Base64.encodeToString`方法将字节数组编码为Base64字符串。
如果你想从Base64字符串恢复`Bitmap`,可以这样做:
```java
public Bitmap base64ToBitmap(String base64String) {
byte[] decodedBytes = Base64.decode(base64String, Base64.DEFAULT);
return BitmapFactory.decodeByteArray(decodedBytes, 0, decodedBytes.length);
}
```
阅读全文