Страницы

Поиск по вопросам

пятница, 21 июня 2019 г.

как конвентировать Image в Bitmap?

Я работаю с камерой и она возвращает Image который я хочу передать в другое активити для preview, чтоб юзер мог посмотреть на сделанное фото. Передаю я этот Image с помощью intent, но он не хочет принимать Image и в самом intent подчеркивает его красным и пишет Cannot resolve method
Image image = (Image) msg.obj; intent.putExtra("Image", image);
Я так понимаю, что он принимает Bitmap и тут у меня вопрос... Как конвентировать Image To Bitmap? Допустим я могу конвентировать Image в byte[]
Вот так
ByteBuffer buffer = image.getPlanes()[0].getBuffer(); byte[] bytes = new byte[buffer.remaining()]; buffer.get(bytes);
но все равно как тогда byte[] конвентировать в Bitmap?
У меня есть функция которая конвентирует Bitmap в byte[]
private byte[] convertBitmapToByteArray(Bitmap bitmap) { ByteArrayOutputStream stream = new ByteArrayOutputStream(bitmap.getWidth() * bitmap.getHeight()); bitmap.compress(Bitmap.CompressFormat.PNG, 100, stream); return stream.toByteArray(); }
но как ее заставить сделать обратное?
Подскажите как это правильно сделать?


Ответ

Попробуйте вот так:
byte[] data = ...; Bitmap bmp = BitmapFactory.decodeByteArray(data, 0, data.length);

Комментариев нет:

Отправить комментарий