9

byte[]画像 jpeg2000 バイトを含むを使用したコードがあります。jLabelこれをコンポーネントで表示したいのですが、これを行うにはどうすればよいですか? アイデアやコードを持っている人はいますか?

4

4 に答える 4

4

あなたはこの方法でそれを行うでしょう

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

JLabel label = new JLabel(imgIcon);

ただし、JPG2000デコーダーには標準の SDK が付属していません。ここ(Java Advanced Imaging) に進み、その形式に適したデコーダーを使用する必要があります。

于 2010-04-18T16:27:22.410 に答える
3

どうやらjpeg2000/(.jp2)ファイルのサポートはJava Advanced Imaging(JAI)から削除されました。

JAI 1.1.3をアンインストールし、古いバージョン1.1をインストールすることで、.jp2ファイルを読み取ろうとして、nullポインタが表示されなくなりました。

バージョン1.1はこちらから入手できます。 http://download.java.net/media/jai-imageio/builds/release/1.1/

バージョン1.1には、-g3fax g4fac jiiojp2kjpegおよびpngのコーデックがリストされています。

于 2012-10-31T21:32:09.043 に答える
2

私が知っている唯一のオプションはすべて jj2000 に基づいています。

jai-imageio-coreは、追加のサードパーティ モジュールを通じてサポートを提供します。

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

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

それ自体が ImageIO に登録され、png、bmp、または jpeg と同じように jpeg2000 ファイルを読み取ることができるようになります。

jj2000 自体はオプションですが、API は日常的に使用するようには設計されていません。

その他のオプションには、jj2000用の独自のラッピングを提供する JMRTD や、商用製品のJDeliがあります。

于 2013-05-13T22:40:32.567 に答える