Android 生成的位图只有零值
我正在尝试将字节数组解码成位图,以便在android中使用。 我用来解码的字节数组是由一个名为GlReadPixels的OpenGl命令生成的,里面的数据是正确的Android 生成的位图只有零值,android,image,bitmap,Android,Image,Bitmap,我正在尝试将字节数组解码成位图,以便在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) { au
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;
}
MainActivity.dataInputStream.readFully(图,0256*256*4);
//从rgba转换为argb
对于(int i=0;i
如果我这样做:bmp=Bitmap.createBitmap(intige,256,256,Config.ARGB_8888)代码>或此:
bmp=Bitmap.createBitmap(256,256,Config.ARGB_8888);
设置像素(亲密度,0,256,0,0,256,256)代码>,
生成的位图将只有0个值
有人能告诉我这是为什么吗?Bitmap.createBitmap需要256*256大小的数组,您给它256*256*4,因此您只给一个部分,它看起来像这样,0x000000FF。。0x000000RR,0x000000GG,如果你明白我的意思
像这样更改argb函数
int[] imageARGB = new int[256 * 256];
for(int i = 0; i < imageARGB.length, i++){
imageARGB[i] = Color.argb(yourAlpha, RR, GG, BB);
}
int[]imageARGB=newint[256*256];
对于(int i=0;i
希望这有助于享受您的工作谢谢谢谢谢谢!这起作用了。在过去的3-4天里,我一直在为此苦苦挣扎。