JAVA RGBA字节转bitmap
时间: 2023-08-30 10:05:52 浏览: 164
可以使用以下代码将一个 RGBA 格式的字节数组转化为 Bitmap:
```java
public static Bitmap rgbaToBitmap(byte[] data, int width, int height) {
// 将字节数组转化为 Int 数组
int[] pixels = new int[width * height];
for (int i = 0; i < pixels.length; i++) {
int r = unsignedToBytes(data[i * 4 + 0]);
int g = unsignedToBytes(data[i * 4 + 1]);
int b = unsignedToBytes(data[i * 4 + 2]);
int a = unsignedToBytes(data[i * 4 + 3]);
pixels[i] = (a << 24) | (r << 16) | (g << 8) | b;
}
// 创建 Bitmap
return Bitmap.createBitmap(pixels, width, height, Bitmap.Config.ARGB_8888);
}
private static int unsignedToBytes(byte b) {
return b & 0xff;
}
```
这里假设输入的字节数组是按照从左到右、从上到下的顺序排列的,如果是其他顺序需要对 `pixels` 数组的填充顺序进行调整。
阅读全文