/************************************************************************** /* This class demonstrates how to display images /* (see display(1) from the ImageMagick-toolkit) /* /* Copyright (c) 2003 by Bernhard Bablok (mail@bablokb.de) /* /* This program is free software; you can redistribute it and/or modify /* it under the terms of the GNU General Public License as published /* by the Free Software Foundation; either version 2 of the License or /* (at your option) any later version. /* /* This program is distributed in the hope that it will be useful, but /* WITHOUT ANY WARRANTY; without even the implied warranty of /* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the /* GNU General Public License for more details. /* /* You should have received a copy of the GNU General Public License /* along with this program; see the file COPYING. If not, write to /* the Free Software Foundation Inc., 59 Temple Place - Suite 330, /* Boston, MA 02111-1307 USA /**************************************************************************/ import magick.*; import magick.util.*; import java.awt.*; import java.awt.event.*; /** This class demonstrates how to display images (see display(1) from the ImageMagick-toolkit). @version $Revision: 1.1 $ @author $Author: Bablokb $ */ public class Display extends Frame { MagickImage iImage; MagickViewer iViewer; ////////////////////////////////////////////////////////////////////////////// public static void usage() { System.out.println("usage: java Display filename"); System.exit(1); } ////////////////////////////////////////////////////////////////////////////// public Display() { setResizable(true); addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent event) { System.exit(0); } }); iViewer = new MagickViewer(); add(iViewer, "Center"); } ////////////////////////////////////////////////////////////////////////////// public Dimension getPreferredSize() { return getMinimumSize(); } ////////////////////////////////////////////////////////////////////////////// public Dimension getMinimumSize() { try { if (iImage == null) return new Dimension(300, 200); else return iImage.getDimension(); } catch (MagickException e) { return new Dimension(300, 200); } } ////////////////////////////////////////////////////////////////////////////// public void setImage(MagickImage image) { iImage = image; iViewer.setImage(image); } ////////////////////////////////////////////////////////////////////////////// public static void main(String[] args) { if (args.length != 1) usage(); try { ImageInfo info = new ImageInfo(args[0]); MagickImage image = new MagickImage(info); Display d = new Display(); d.setImage(image); d.setTitle(image.getFileName()); d.pack(); d.show(); } catch (MagickException ex) { System.err.println("MagickException: " + ex); } } }