Bitmap.createBitmap将所有像素设置为0

时间:2019-03-13 12:19:27

标签: android bitmap

我试图从一个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,就可以解决我眼前的问题。

0 个答案:

没有答案