Рендеринг изображения TIF с помощью JAI

Я пытаюсь отобразить файл TIF, используя стандартные API Java, JAI и ImageIO:

RenderedOp op = JAI.create("fileload", new File("C:\\test.tif").getAbsolutePath());

or

BufferedImage image = ImageIO.read(new File("C:\\test.tif"));

В обоих я получаю следующую ошибку:

EOL code word encountered in White run.

У меня есть последние версии jai_core, jai_codecs и jai_imageio в моем пути к классам.

Я пытался открыть то же изображение в других приложениях, таких как Gimp и Windows Image Viewer, и они могут открыть его правильно, хотя нижняя половина отсутствует.

Есть идеи, в чем проблема?


person Marcus Dias    schedule 28.02.2012    source источник
comment
Я считаю, что библиотеки JAI должны быть установлены в первую очередь, помимо помещения их в путь к классам или импорта их jar-файлов в проект. Ты сделал это?   -  person Marsellus Wallace    schedule 28.02.2012
comment
Похоже, ваш образ поврежден. Если Windows отображает только половину, а JAI выдает ошибку, возможно, это поврежденный образ. Пришлите мне копию изображения, и я дам вам знать, что найду.   -  person BitBank    schedule 29.02.2012


Ответы (1)


Изучив несколько библиотек (включая нативные), я смог отобразить TIF с помощью JIMI Software Development Kit — библиотека от Oracle (Sun). На странице сказано, что этот инструментарий предназначен для использования на старых платформах Java, но в моем случае он решил проблему.

Пример кода:

    JimiCanvas jCanvas = new JimiCanvas();
    jCanvas.setImagePath("C:\\test.tif");
    Image image = jCanvas.getImage();
person Marcus Dias    schedule 01.03.2012