我正在尝试将字节数组解码为要在 android 中使用的位图。我用于解码的字节数组是由名为 GlReadPixels 的 OpenGl 命令生成的,并且里面的数据是正确的。
MainActivity.dataInputStream.readFully(Image, 0,256 * 256 * 4);
//converting from rgba to argb
for (int i = 0; i < Image.length - 1; i = i + 4) {
aux = (Image[i + 3] & 0xFF);
IntImage[i + 3] = (int) (Image[i + 2] & 0xFF);
IntImage[i + 2] = (int) (Image[i + 1] & 0xFF);
IntImage[i + 1] = (int) (Image[i] & 0xFF);
IntImage[i] = aux;
}
如果我这样做:bmp = Bitmap.createBitmap(IntImage, 256, 256,Config.ARGB_8888);
或者这样:
bmp = Bitmap.createBitmap(256, 256, Config.ARGB_8888);
bmp.setPixels(IntImage, 0, 256, 0, 0, 256, 256);
,
结果位图将只有 0 个值。
有人可以告诉我为什么会这样吗?