📅  最后修改于: 2023-12-03 14:39:09.830000             🧑  作者: Mango
在 Android 开发中,我们经常需要将位图转换为 Base64 字符串。本文将介绍如何将位图转换为 Base64 字符串,并且提供了相应的代码片段。
在 Android 中,我们可以使用 Base64
类将二进制数据转换为 Base64 字符串。对于位图,我们可以使用 Bitmap.CompressFormat
将其压缩为二进制数据,然后再将其转换为 Base64 字符串。
/**
* 将位图转换为 Base64 字符串
* @param bitmap 位图
* @param format 压缩格式,可选值为 Bitmap.CompressFormat.JPEG、Bitmap.CompressFormat.PNG、Bitmap.CompressFormat.WEBP
* @param quality 压缩质量,0-100
* @return Base64 字符串
*/
public static String bitmapToBase64(Bitmap bitmap, Bitmap.CompressFormat format, int quality) {
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
bitmap.compress(format, quality, byteArrayOutputStream);
byte[] bytes = byteArrayOutputStream.toByteArray();
return Base64.encodeToString(bytes, Base64.DEFAULT);
}
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher);
String base64 = bitmapToBase64(bitmap, Bitmap.CompressFormat.PNG, 100);
本文介绍了将位图转换为 Base64 字符串的方法。对于开发者来说,由于转换过程比较简单,因此代码实现也十分简单。但需要注意,将位图转换为 Base64 字符串会占用较多的内存,因此在具体应用中需要根据实际情况进行优化。