安卓开发 base64转换图片
时间: 2023-11-21 20:56:23 浏览: 102
在安卓开发中,可以使用Base64类将Base64编码的字符串转换为图片。以下是一个简单的示例代码:
```java
// 将Base64编码的字符串转换为Bitmap对象
public static Bitmap base64ToBitmap(String base64Str) {
byte[] bytes = Base64.decode(base64Str, Base64.DEFAULT);
return BitmapFactory.decodeByteArray(bytes, 0, bytes.length);
}
// 将Base64编码的字符串转换为Drawable对象
public static Drawable base64ToDrawable(String base64Str) {
Bitmap bitmap = base64ToBitmap(base64Str);
return new BitmapDrawable(bitmap);
}
```
在上面的代码中,我们使用了Base64类的decode()方法将Base64编码的字符串解码为字节数组,然后使用BitmapFactory类的decodeByteArray()方法将字节数组转换为Bitmap对象。如果需要将Bitmap对象转换为Drawable对象,可以使用BitmapDrawable类。
相关问题
Android开发根据图片Uri将图片转换为base64string
要将图片转换为Base64字符串,可以按照以下步骤进行:
1.获取图片的Uri对象:
```
Uri imageUri = Uri.parse("content://media/external/images/media/123");
```
2.使用ContentResolver从Uri中获取图片的Bitmap对象:
```
Bitmap bitmap = MediaStore.Images.Media.getBitmap(getContentResolver(), imageUri);
```
3.将Bitmap对象转换为Base64字符串:
```
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.PNG, 100, byteArrayOutputStream);
byte[] byteArray = byteArrayOutputStream.toByteArray();
String base64String = Base64.encodeToString(byteArray, Base64.DEFAULT);
```
其中,base64String就是转换后的Base64字符串。注意,需要在AndroidManifest.xml文件中添加读取文件的权限:
```
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
```
Android开发 - ImageView加载Base64编码的图片
在Android中,可以使用Base64编码将图片转换为字符串,然后在ImageView中加载。以下是实现的步骤:
1. 将Base64编码的字符串转换为字节数组。
```
byte[] imageBytes = Base64.decode(base64String, Base64.DEFAULT);
```
2. 将字节数组转换为Bitmap对象。
```
Bitmap bitmap = BitmapFactory.decodeByteArray(imageBytes, 0, imageBytes.length);
```
3. 将Bitmap对象设置到ImageView中。
```
imageView.setImageBitmap(bitmap);
```
完整的代码示例:
```
String base64String = "base64 encoded image string";
byte[] imageBytes = Base64.decode(base64String, Base64.DEFAULT);
Bitmap bitmap = BitmapFactory.decodeByteArray(imageBytes, 0, imageBytes.length);
imageView.setImageBitmap(bitmap);
```
注意:如果Base64编码的字符串太长,可能会导致应用程序崩溃或内存不足。在这种情况下,最好使用其他方法来加载图片,例如通过URL加载或使用本地文件。
阅读全文