Получить эскиз изображения из файла изображения DNG RAW и показать его в Android ImageView

Я пытаюсь получить эскиз изображения из файла изображения DNG RAW и показать его в Android. Я успешно прочитал все необходимые теги и получил значения для формирования изображения. Но я раньше не работал с изображениями, поэтому столкнулся с проблемой создания растровых изображений. Читая необработанные теги изображений, я получил следующие значения:

ширина изображения = 320

высота изображения = 216

сжатие = 1 (1= несжатый)

выборка на пиксель = 3

бит на выборку = 8

смещение начала изображения = 7044

Интерпретация цвета = 2 (2=ARGB_8888)

чтобы получить данные изображения, мой код:

int uBitsPerPixel = samplePerPixel * bitPerSample;
int lengthOfBitmap = imageLength * imageWidth * uBitsPerPixel/8;//size of image data
InputStream fis = new FileInputStream(file);
byte[] img = new byte[lengthOfBitmap];
fis.skip(startOffset);//image data starting position
fis.read(img, 0, lengthOfBitmap);
fis.close();

Из приведенного выше кода я получаю массив байтов несжатых данных изображения. Но я превращаю его в растровое изображение, получая растровое изображение как ноль.

BitmapFactory.Options bmpFactoryOptions = new BitmapFactory.Options();
bmpFactoryOptions.inPreferredConfig = Bitmap.Config.ARGB_8888;
bitmap = BitmapFactory.decodeStream(inputStream, null, bmpFactoryOptions);

Итак, как я могу правильно создать растровое изображение? Заранее спасибо за любую помощь.

0 ответов

Другие вопросы по тегам