0
Как я могу построить растровое изображение оригинального размера из байтового массива?Растровое изображение исходного размера с использованием BitmapFactory decodeByteArray
byte[] imageAsBytes = Base64.decode(b64.getBytes(), Base64.DEFAULT);
BitmapFactory.Options options = new BitmapFactory.Options();
options.inScaled = false;
options.inSampleSize = 1;
return BitmapFactory.decodeByteArray(imageAsBytes, 0, imageAsBytes.length, options);
Проблема заключается в том, что создается растровое изображение несколько раз меньше (примерно на 3 раза), чем оригинал ...
Это выглядит очень правильно для меня, если байт [] имеет правильный формат. Поскольку вы ничего не пишете о том, что не так, на ваш вопрос нет ответа. –
Я использую BitmapFactory.Options opt = new BitmapFactory.Options(); \t \t \t \t \t opt.inDensity = DisplayMetrics.DENSITY_DEFAULT; \t \t \t \t \t opt.inTargetDensity = DisplayMetrics.DENSITY_DEFAULT; \t \t \t \t \t opt.inScaled = false; , даже если используемые вами параметры должны работать. Попробуй. Если это не поможет, ваши входные данные неверны (как в исходном размере растрового изображения). –
Странный (по крайней мере для меня), но это был ключ: options.inDensity = DisplayMetrics.DENSITY_DEFAULT; Спасибо @EmanuelMoecklin. Будете ли вы отправлять ответ, чтобы я мог отметить его как правильно? – fritz