bundle怎么保存bitmap
时间: 2023-08-09 07:04:52 浏览: 116
要将一个 Bitmap 保存到 bundle 中,你需要先将 Bitmap 转换为 byte 数组,然后将其放入 bundle 中。以下是一个示例代码:
```java
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.my_image);
// 将 Bitmap 转换为 byte 数组
ByteArrayOutputStream stream = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.PNG, 100, stream);
byte[] byteArray = stream.toByteArray();
// 将 byte 数组放入 bundle 中
Bundle bundle = new Bundle();
bundle.putByteArray("image", byteArray);
```
在上面的代码中,我们首先使用 BitmapFactory 从资源中获取一个 Bitmap。然后,我们创建一个 ByteArrayOutputStream,将 Bitmap 压缩为 PNG 格式并将其写入该流中。最后,我们获取 byte 数组并将其放入 bundle 中,使用 "image" 作为键。
要从 bundle 中获取保存的 Bitmap,你需要执行以下操作:
```java
byte[] byteArray = bundle.getByteArray("image");
Bitmap bitmap = BitmapFactory.decodeByteArray(byteArray, 0, byteArray.length);
```
在这个代码片段中,我们从 bundle 中获取 byte 数组,然后使用 BitmapFactory 将其转换回 Bitmap。
阅读全文