我试图从一个int数组创建一个位图,但是结果位图全为0。
场景 我有一个应用程序,它需要原始图像,然后对原始图像进行一些后期处理。经过此处理后,我尝试将结果字节数组另存为JPEG图像,并且在这里将数组转换为位图,以便可以将其另存为JPG。
int [] rgbArray = getColor( returnValue ); // converts the image to an int array
Bitmap image = Bitmap.createBitmap( rgbArray, 1008, 758, Bitmap.Config.ARGB_8888 );
但是image
的每个像素都设置为0,因此生成的Jpeg全部为黑色。
我想知道您是否可以提供关于为什么会出现这种情况的任何指示?
我尝试从位图中打印出各种get函数,以查看其是否有任何线索。
Bitmap getHeight() 758
Bitmap getWidth() 1008
Bitmap describeContents() 0
Bitmap getByteCount() 3056256
Bitmap getConfig() ARGB_8888
Bitmap isRecycled() false
Bitmap isPremultiplied() true
Bitmap hasAlpha() true
Bitmap getColorSpace() sRGB IEC61966-2.1 (id=0, model=RGB)
我是android编程的新手,所以任何指针都将非常有帮助。预先感谢。
更新
如果我setPremultiplied( false );
使用位图,则可以正常工作。我想如果我将Premultiplied设置为false,就可以解决我眼前的问题。