Получение тегов TIFF из изображения - PullRequest
0 голосов
/ 08 мая 2018

Я пытаюсь визуализировать изображение Tiff для извлечения из него тегов, вот что я делал до сих пор:

ByteArraySeekableStream sStream= new ByteArraySeekableStream(imageByteArray);
ImageDecoder imgDecoder = ImageCodec.createImageDecoder("TIFF",sStream,null);
RenderedImage renderedImage = imgDecoder.decodeAsRenderedImage();

это работает нормально для всех положительных сценариев, где, как мы полагаем, если мыиметь изображение в формате TIFF с отсутствующим тегом.

например: если длина изображения отсутствует, то я получаю следующее исключение:

java.io.IOException: "Image Length", a required field, is not present in the TIFF file

, но я не хочу, чтобы оно выдавало какое-либо исключение, скорее оно должно отображать изображение с любымПрисутствуют теги TIFF.

Есть ли другой способ рендеринга изображения TIFF?или есть способ изменить приведенный выше код для достижения этого требования.

1 Ответ

0 голосов
/ 25 мая 2018

Чтобы получить теги Tiff, вам не нужно сначала отображать изображение. Если вы визуализируете изображение, вы обязательно получите это исключение, если какие-либо теги будут неправильными.

Вместо этого попробуйте это,

ByteArraySeekableStream sStream= new ByteArraySeekableStream(imageByteArray);

И получить каталог Tiff из потока вместо отрендеренного изображения

TIFFDirectory tiffDr = new TIFFDirectory(sStream, 0)

Отсюда вы можете получить теги Tiff, а затем выполнить проверку доступных тегов на изображении. Надеюсь, это поможет.

...