У меня есть изображение jpeg2000, img.jp2
в файле и на объекте DataInputStream imgobj
в моем проекте и хочу показать это изображение на JFrame.Как показать изображение jpeg2000 на Jframe?
В старой версии jai_imageio-1.1.jar рекомендуется here и в библиотеке jj2000.
Я пробовал:
j2kImageReader.setInput(new FileImageInputStream(new File(fileName)));
ImageReadParam imageReadParam = j2kImageReader.getDefaultReadParam();
imageReadParam.setSourceRegion(new Rectangle(0, 0, 300, 300));
IIOImage image = j2kImageReader.readAll(0, imageReadParam);
// This type of images is difficult to handle,
// I just don't know what to do with IIOImage,
// ImageIcon doesn't accept that type in its constructor.
И это:
Image img = ImageIO.read(new File(fileName));
ImageIcon imgIcon = new ImageIcon(img);
JLabel label = new JLabel(imgIcon);
panel1.add(label);
panel1.repaint();
//Error: Can't read input file!. The panel is still empty
Опция включена в JMRTD использует два декодеры, и ни один из них не принимает .jp2
:
NistDecoder dec=new NistDecoder();
WsqDecoder wdec=new WsqDecoder();
//using the last one, I tried: bitmp= wdec.decode(myDataInputStream);
//but with Error, Invalid pointer : 0!.
Поэтому возникает вопрос: какое правильное использование jj2000 или jai_imageio для чтения изображения jpeg2000 для m файл или DataInputStream, и если это возможно, показать его на простой панели на JFrame?
Благодарим за помощь.
... и что случилось, * точно *, когда вы пытались выше ? – haraldK
Я объяснил в коде, спасибо @haraldK. – TiMr