// $Id: RenderImage.java,v 1.5 2005/04/21 22:49:38 moreland Exp $ // // Copyright 2000-2004 The Regents of the University of California. // All Rights Reserved. // // Permission to use, copy, modify and distribute any part of this // Molecular Biology Toolkit (MBT) // for educational, research and non-profit purposes, without fee, and without // a written agreement is hereby granted, provided that the above copyright // notice, this paragraph and the following three paragraphs appear in all // copies. // // Those desiring to incorporate this MBT into commercial products // or use for commercial purposes should contact the Technology Transfer & // Intellectual Property Services, University of California, San Diego, 9500 // Gilman Drive, Mail Code 0910, La Jolla, CA 92093-0910, Ph: (858) 534-5815, // FAX: (858) 534-7345, E-MAIL:invent@ucsd.edu. // // IN NO EVENT SHALL THE UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR // DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING // LOST PROFITS, ARISING OUT OF THE USE OF THIS MBT, EVEN IF THE // UNIVERSITY OF CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. // // THE MBT PROVIDED HEREIN IS ON AN "AS IS" BASIS, AND THE // UNIVERSITY OF CALIFORNIA HAS NO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, // UPDATES, ENHANCEMENTS, OR MODIFICATIONS. THE UNIVERSITY OF CALIFORNIA MAKES // NO REPRESENTATIONS AND EXTENDS NO WARRANTIES OF ANY KIND, EITHER IMPLIED OR // EXPRESS, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF // MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE, OR THAT THE USE OF THE // MBT WILL NOT INFRINGE ANY PATENT, TRADEMARK OR OTHER RIGHTS. // // For further information, please see: http://mbt.sdsc.edu // // History: // $Log: RenderImage.java,v $ // Revision 1.5 2005/04/21 22:49:38 moreland // On exception or error, exit the JVM. // // Revision 1.4 2004/08/24 17:01:41 moreland // Added ImageUtils call to autoCropAndScale method. // // Revision 1.3 2004/04/08 23:55:07 moreland // Updated copyright to new UCSD wording. // // Revision 1.2 2004/01/30 02:07:36 moreland // Updated copyright and class block comments. // // Revision 1.1 2003/12/08 21:41:35 moreland // Added RenderImage tool. // // Revision 1.0 2003/09/11 16:06:13 moreland // First version. // // Core import java.applet.*; import java.util.*; // Hashtable and Enumeration import java.io.File; import java.net.*; // GUI import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.awt.image.*; import javax.imageio.*; // MBT import edu.sdsc.mbt.*; import edu.sdsc.mbt.io.*; import edu.sdsc.mbt.viewables.*; import edu.sdsc.mbt.viewers.*; import edu.sdsc.mbt.util.*; import edu.sdsc.mbt.gui.*; import edu.sdsc.vis.image.*; /** * This class is the main RenderImage application class. * It is a command-line tool which loads a structure, optionally displays * a thumbnail using a StructureViewer, then saves the rendered image at a * requested width and height to the specified image file. *

* @author John L. Moreland */ public class RenderImage { // GUI protected JFrame renderImageFrame = null; protected Container renderImageFrameContainer = null; // Viewers private StructureViewer structureViewer = null; // Runtime properties (options or parameters) private Properties properties = new Properties( ); /*********************************************************************/ /*************************** ENTRY POINTS **************************/ /*********************************************************************/ /*********************************************************************/ /* */ /* The main program entry point when invoked as an application. */ /* */ /*********************************************************************/ public static void main( String[] args ) { RenderImage renderImage = new RenderImage(); if ( args != null ) { for ( int i=0; i