Bitmap 转Base64
时间: 2024-10-08 15:13:13 浏览: 26
在Android中,你可以使用`Base64`编码将`Bitmap`转换为字符串以便在网络传输或保存为文本文件。这里是一个简单的例子:
```java
import android.graphics.Bitmap;
import java.nio.charset.StandardCharsets;
import java.util.Base64;
public String bitmapToBase64(Bitmap bitmap) {
if (bitmap == null) return null;
byte[] bytes = bitmap.compress(Bitmap.CompressFormat.JPEG, 80, null); // 80% quality
String encodedImage = Base64.getEncoder().encodeToString(bytes);
return encodedImage;
}
```
在这个函数中,首先对`Bitmap`进行压缩(这里是JPEG格式,质量设为80),然后使用`Base64.getEncoder().encodeToString()`方法将其转换为Base64编码的字符串。注意,`compress()`方法的第三个参数是输出缓冲区,我们传入null表示由库自行管理。
当你需要从Base64字符串还原回`Bitmap`时,可以用下面的方法:
```java
public Bitmap base64ToBitmap(String base64Image) {
byte[] decodedBytes = Base64.getDecoder().decode(base64Image);
return BitmapFactory.decodeByteArray(decodedBytes, 0, decodedBytes.length);
}
```
阅读全文