android rgb图像byte[] 转 Bitmap
时间: 2023-12-09 16:05:39 浏览: 41
可以使用以下代码将一个 RGB 图像的 byte[] 数组转换为 Bitmap:
```java
// 定义图片宽高和颜色模式
int width = 640;
int height = 480;
Bitmap bitmap = Bitmap.createBitmap(width, height, Bitmap.Config.RGB_565);
// 将 byte[] 数组转换为 Bitmap
byte[] imageBytes = ... ; // RGB 图像的 byte[] 数组
ByteBuffer buffer = ByteBuffer.wrap(imageBytes);
bitmap.copyPixelsFromBuffer(buffer);
```
在上面的代码中,我们首先定义了图片的宽高和颜色模式,然后创建一个 Bitmap 对象。接下来,我们将 byte[] 数组转换为 ByteBuffer,并使用 `copyPixelsFromBuffer()` 方法将 ByteBuffer 中的数据拷贝到 Bitmap 对象中。最终得到的 Bitmap 对象就是我们需要的 RGB 图像。
相关问题
android rgb byte数组转换为bitmap
可以使用以下代码将 RGB 值的 byte 数组转换为 Bitmap:
```java
public Bitmap rgbBytesToBitmap(byte[] pixels, int width, int height) {
Bitmap bitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
ByteBuffer buffer = ByteBuffer.wrap(pixels);
bitmap.copyPixelsFromBuffer(buffer);
return bitmap;
}
```
其中,`pixels` 是一个一维的 byte 数组,包含所有像素的 RGB 值,`width` 和 `height` 分别是图片的宽度和高度。使用 `Bitmap.createBitmap()` 方法创建一个 Bitmap 对象,然后使用 `ByteBuffer.wrap()` 方法将 byte 数组包装成 ByteBuffer,使用 `Bitmap.copyPixelsFromBuffer()` 方法将像素值设置到 Bitmap 中。最后返回 Bitmap 对象即可。
android byte转bitmap
可以使用以下代码将 byte 数组转换为 Bitmap:
```java
public Bitmap byteArrayToBitmap(byte[] byteArray) {
return BitmapFactory.decodeByteArray(byteArray, 0, byteArray.length);
}
```
其中,`byteArray` 为要转换的 byte 数组。可以通过以下代码将 Bitmap 转换为 byte 数组:
```java
public byte[] bitmapToByteArray(Bitmap bitmap) {
ByteArrayOutputStream stream = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.PNG, 100, stream);
return stream.toByteArray();
}
```
其中,`bitmap` 为要转换的 Bitmap 对象。这里将 Bitmap 转换为 PNG 格式的 byte 数组,也可以改为 JPEG 格式等其他格式。