Android 什么格式的字节数组存储PNG文件中的数据?

Android 什么格式的字节数组存储PNG文件中的数据?,android,image,android-ndk,Android,Image,Android Ndk,我希望字节数组中的像素值如下所示: File file = new File(pngfilepathfromSDCARD); byte[] array = new byte[file.length()]; BufferedInputStream buf = new BufferedInputStream(new FileInputStream(file)); buf.read(array,0,array.length); buf.close(); 原始png文件大小为320*240=768

我希望字节数组中的像素值如下所示:

File file = new File(pngfilepathfromSDCARD);
byte[] array = new byte[file.length()]; 

BufferedInputStream buf = new BufferedInputStream(new FileInputStream(file));
buf.read(array,0,array.length);
buf.close();
原始png文件大小为320*240=76800像素,而数组长度为14792。 我无法理解数组的编码格式,我想使用此数组中的RGB值进行进一步处理

PNG文件位于中


听起来像是要将文件解压缩为RGB位图。您可以使用。

Ya我得到了解决方案,我使用OpenCV Mat类读取图像。
然后将其转换为字节数组。通过这种方法,我得到每个像素的16位值,我在jni中对其进行进一步处理。

通过上述方法,一些数据被压缩,因此我得不到正确的结果。实际上,我需要存储像素/字节的字节数组。您正在读取的文件是压缩数据。decodeFile方法将把它解压缩成位图,从中可以获得像素数据,例如getPixels。