Я работаю с камерой и она возвращает 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);
Комментариев нет:
Отправить комментарий