2 package com.pixelmed.imageio;
7 import java.awt.event.*;
8 import java.awt.image.*;
9 import javax.imageio.*;
10 import javax.imageio.spi.*;
12 import javax.swing.event.*;
16 private static final String identString =
"@(#) $Header: /userland/cvs/codec/com/pixelmed/imageio/TestImageIO.java,v 1.4 2016/01/16 15:01:48 dclunie Exp $";
18 class SingleImagePanel
extends JComponent {
22 SingleImagePanel(String args[])
throws Exception {
23 File f =
new File(args[0]);
25 if (args.length == 1) {
26 image = ImageIO.read(f);
29 Iterator readers = ImageIO.getImageReadersByFormatName(args[1]);
30 int whichReader = Integer.valueOf(args[2]).intValue();
32 while (readers.hasNext()) {
33 ImageReader reader = (ImageReader)readers.next();
34 if (i == whichReader) {
35 ImageReaderSpi spi = reader.getOriginatingProvider();
36 System.out.println(
"Using reader "+i+
" from "+spi.getDescription(Locale.US)+
" "+spi.getVendorName()+
" "+spi.getVersion());
38 reader.setInput(ImageIO.createImageInputStream(f));
39 image = reader.read(0);
46 throw new Exception(
"Couldn't find a reader");
48 System.out.println(
"Image width="+image.getWidth()+
" height="+image.getHeight());
49 setSize(image.getWidth(),image.getHeight());
51 catch (IOException e) {
56 public void paintComponent(Graphics g) {
58 Graphics2D g2d=(Graphics2D)g;
59 g2d.drawImage(image,0,0,
this);
65 addWindowListener(
new WindowAdapter() {
66 public void windowClosing(WindowEvent e) {
71 Container content = getContentPane();
73 SingleImagePanel panel =
new SingleImagePanel(args);
75 setSize(panel.getWidth(),panel.getHeight());
79 public static void main(String args[]) {
82 javax.imageio.ImageIO.scanForPlugins();
84 javax.imageio.ImageIO.setUseCache(
false);
86 String[] formats=ImageIO.getReaderFormatNames();
87 for (
int i=0; formats != null && i<formats.length; ++i) {
88 System.out.println(formats[i]);
89 Iterator readers = ImageIO.getImageReadersByFormatName(formats[i]);
90 while (readers.hasNext()) {
91 ImageReader reader = (ImageReader)readers.next();
92 ImageReaderSpi spi = reader.getOriginatingProvider();
93 System.out.println(
"\t"+spi.getDescription(Locale.US)+
" "+spi.getVendorName()+
" "+spi.getVersion());
100 catch (Exception e) {
static void main(String args[])