我通过socket接收到了一张jpg图片,它被发送为ByteBuffer。
我的处理方式如下:
ByteBuffer receivedData ;
// Image bytes
byte[] imageBytes = new byte[0];
// fill in received data buffer with data
receivedData= DecodeData.mReceivingBuffer;
// Convert ByteByffer into bytes
imageBytes = receivedData.array();
//////////////
// Show image
//////////////
final Bitmap bitmap = BitmapFactory.decodeByteArray(imageBytes,0,imageBytes.length);
showImage(bitmap1);
但是为什么无法解码图像字节并且位图为空。
我得到的imageBytes如下: imageBytes: {-1,-40,-1,-32,0,16,74,70,73,70,0,1,1,1,0,96,0,0,0,0,-1,-37,0,40,28,30,35,+10,478更多}
问题可能出在哪里? 是解码问题吗? 还是从ByteBuffer转换为Byte数组的问题?
提前感谢您的帮助。
DecodeData.mReceivingBuffer
. 你没有展示如何接收数据。代码非常不完整。请展示接收到的字节的十六进制表示,同时也请展示发送的字节的十六进制表示。 - greenapps