【发布时间】:2016-05-17 06:35:07
【问题描述】:
我正在尝试将.BMP 图片转换为byte[] 或byte[][]。我已经尝试了 2 种解决方案,但得到了奇怪的结果
第一:
Bitmap bitmap = BitmapFactory.decodeResource(getResources(),R.drawable.qr);
int bytes = bitmap.getByteCount();
ByteBuffer buffer = ByteBuffer.allocate(bytes);
bitmap.copyPixelsToBuffer(buffer);
byte[] byt = buffer.array();
在byt 中,我得到包含超过 36 000 个元素的数组,并且都具有 -1 值。
我的第二次尝试是:
Bitmap bitmap = BitmapFactory.decodeResource(getResources(),R.drawable.qr);
ByteArrayOutputStream stream = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.PNG, 100,stream);
byte[] byteArrat = stream.toByteArray();
但现在我有超过 1200 个元素的数组,这些元素看起来是随机的(值形式 -180 到 100)
是否有可能将 bmp 转换为数组,其中 WHITE 颜色为 0,BLACK 为 1?我已经有货了,不知道该怎么办。图片:
【问题讨论】:
标签: java android arrays bitmap bit