Android Bitmap 拷贝
时间: 2024-12-21 19:22:34 浏览: 8
Android中的Bitmap对象代表图像数据,在处理大量图片或者需要节省内存的情况下,拷贝Bitmap是一个常见的操作。Bitmap有几种复制方式:
1. 使用`copy()`方法:Bitmap提供了几个copy()方法,如`copy(Bitmap.Config, boolean)`,你可以指定新的配置(如ARGB_8888、RGB_565等),以及是否创建一个新的像素数组副本。
示例:
```java
Bitmap original = ...;
Bitmap copiedBitmap = original.copy(Bitmap.Config.ARGB_8888, true);
```
2. 使用`createScaledBitmap()`:如果只需要缩放而不改变质量,可以使用此方法,它会基于给定的比例创建一个新的Bitmap。
示例:
```java
Bitmap copiedBitmap = Bitmap.createScaledBitmap(original, newWidth, newHeight, false);
```
3. 如果你想创建一个只读的Bitmap,可以使用`getCompressedBytes()`获取字节流然后用`BitmapFactory.decodeByteArray()`创建。
示例:
```java
byte[] bytes = original.getCompressedBytes(Bitmap.CompressFormat.JPEG, 100);
Bitmap copiedBitmap = BitmapFactory.decodeByteArray(bytes, 0, bytes.length);
```
阅读全文