2010-04-18 6 views
7

У меня есть код с байтом [], который содержит изображение jpeg2000 байт. Я хочу показать это в компоненте jLabel, как это сделать? У кого-нибудь есть идея или код?чтение jpeg2000 файлов в java

ответ

4

Вы бы сделать это таким образом

Image img = ImageIO.read(new ByteArrayInputStream(imageBytes)); 
ImageIcon imgIcon = new ImageIcon(img); 

JLabel label = new JLabel(imgIcon); 

но JPG2000 декодер не поставляется со стандартным SDK, вы должны направиться here (Java Advanced Imaging) и использовать правильный декодер для этого формата.

+0

Я загрузил jai (с сайта java, а не из вашей ссылки, потому что я не могу найти файл jai для его загрузки), но когда я попытался использовать ваш путь для чтения изображения. Я получил исключение Null, я не знаю почему. даже, что я добавил файлы jar в свой проект (ссылаюсь на них) .. так, какое решение для этого? – Q8Y

3

По-видимому, поддержка файлов jpeg2000/(.jp2) была удалена из Java Advanced Imaging (JAI).

Отключив JAI 1.1.3 и установив более старую версию 1.1, я теперь собираюсь читать файлы .jp2 и больше не вижу нулевой указатель.

Версия 1.1 доступна здесь. http://download.java.net/media/jai-imageio/builds/release/1.1/

Версия 1.1 списки кодека для - g3fax g4fac jiio JP2K JPEG и PNG

+0

Ссылка мертва, вот новая ссылка на архив оракула http://www.oracle.com/technetwork/java/javasebusiness/downloads/java-archive-downloads-java-client-419417.html – Kalaschni

2

Единственные варианты я знаю, все они основаны на jj2000.

джай-ImageIO-жильный обеспечивает поддержку через дополнительный модуль третьей стороной:

https://github.com/stain/jai-imageio-core

https://github.com/jai-imageio/jai-imageio-jpeg2000

Он будет зарегистрировать себя ImageIO, и тогда вы будете в состоянии прочитайте файлы jpeg2000, как и любые png, bmp или jpeg.

Хотя jj2000 сам по себе является опцией, api не предназначен для повседневного использования.

Другие варианты включают JMRTD, который предоставляет свою собственную упаковку для jj2000, или коммерческое предложение, JDeli.

Смежные вопросы