大家好我试图实施Converting bitmap to byteArray android。我需要将我的byte []转换为位图而不进行压缩。但每次我得到整个黑色图像?知道怎么做吗? 我在做什么
int bytes = bmp.getByteCount();
ByteBuffer buffer = ByteBuffer.allocate(bytes);
bmp.copyPixelsToBuffer(buffer);
byte[] resarray = buffer.array();
在这里我如何得到位图
BitmapFactory.Options options = new
BitmapFactory.Options();
options.inScaled = false;
Bitmap bmp = BitmapFactory.decodeByteArray(barray,0, barray.length,options);
ImageView imageView = (ImageView) findViewById(R.id.resdetayimage);
imageView.setImageBitmap(bmp);`
修改 位图工厂只解码压缩的东西。这就是为什么我的代码不起作用。所以我需要类似的东西。
Bitmap.Config configBmp = Bitmap.Config.valueOf(bitmap.getConfig().name());
Bitmap bitmap_tmp = Bitmap.createBitmap(width, height, configBmp);
ByteBuffer buffer = ByteBuffer.wrap(byteArray);
bitmap_tmp.copyPixelsFromBuffer(buffer);
但代码仍无效。那么我怎么能实现这个呢?我从意图中获得了byte []。
答案 0 :(得分:0)
将位图转换为byteArray
ByteArrayOutputStream bStream = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.PNG, 90, bStream);
byte[] mByteArray = bStream.toByteArray();
将byteArray转换为位图
Bitmap bitmap = BitmapFactory.decodeByteArray(mByteArray , 0, mByteArray.length);
答案 1 :(得分:0)
使用String()
,因为它与copyPixelsFromBuffer()
相反。