繁体   English   中英

Java Android:将BufferedInputStream转换为字节数组

[英]Java Android: BufferedInputStream to byte Array

有谁知道如何将BufferedInputStream转换为byte [],以便可以对其进行位图处理?

那是我的流:

BufferedInputStream stream = new BufferedInputStream(socket.getInputStream());

那是我的字节[]:

byte[] bytes;

嗯... BufferedInputStreamread()方法将为您提供所需的byte[]

要获取Bitmap ,请使用BitmapFactory.decodeStream()方法并将BufferedInputStream作为参数传入。 好去! :)

使用ByteArrayOutputStream

BufferedInputStream stream = new BufferedInputStream(s.getInputStream());
ByteArrayOutputStream baos = new ByteArrayOutputStream();

int theByte;

while((theByte = stream.read()) != -1) baos.write(theByte);

然后

BitmapFactory.Options opt = new BitmapFactory.Options();
opt.inDither = true;
opt.inPreferredConfig = Bitmap.Config.ARGB_8888;
byte[] imageByteArray = bytes;
Bitmap bitmap = BitmapFactory.decodeByteArray(imageByteArray, 0, imageByteArray.length, opt);
imageView.setImageBitmap(bitmap);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM