читать файлы jpeg2000 в java - PullRequest
7 голосов
/ 18 апреля 2010

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

Ответы [ 3 ]

4 голосов
/ 18 апреля 2010

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

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

JLabel label = new JLabel(imgIcon);

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

3 голосов
/ 01 ноября 2012

Очевидно, что поддержка файлов 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

2 голосов
/ 14 мая 2013

Единственные известные мне опции основаны на jj2000.

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

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 .

...