showImage.java


showImage.java


import java.awt.image.*;
import java.awt.event.*;
import java.io.*;
import javax.imageio.*;

import javafx.scene.image.Image;
import javafx.scene.image.WritableImage;
import javafx.scene.image.ImageView;
import javafx.embed.swing.SwingFXUtils;

import javafx.scene.Group;
import javafx.scene.Scene; 
import javafx.stage.Stage;



public class showImage  {
    BufferedImage img;
    ImageView view;
    String title = null;

    public showImage(String filename) {
	// get BufferedImage
	readImage(filename);
	title = filename;

        // get JavaFX image
	Image image = null;
	/*
	java.net.URL imgURL = getClass().getResource(filename);
	if (imgURL!=null) {
		System.out.println("url: " + imgURL);
	       	image = new Image(imgURL.toString());
		readImage(imgURL.toString()); 
	}
	*/ 
	try {
		 FileInputStream stream = new FileInputStream(filename);
		 image = new Image(stream);
	}
	catch(Exception e) {
		System.out.println(e);
		System.exit(-1);
	}
         // simple displays ImageView the image as is
         view = new ImageView();
         view.setImage(image); 
   }

   public showImage(BufferedImage img, String title) {
	this.img = img;
	this.title = title;
	WritableImage image = SwingFXUtils.toFXImage(img,null);
	view = new ImageView();
	view.setImage(image);
   }

   public void setTitle(String str) {
	title = str;
   }

   public void setStage(Stage stage) {
         Group root = new Group();
         Scene scene = new Scene(root);
	 root.getChildren().add(view);
 
         if (title!=null) stage.setTitle(title);
         stage.setScene(scene); 
         stage.sizeToScene(); 
         stage.show(); 
    }
	

    public void readImage(String filename) {
	File f = null;
       try {
	   f = new File(filename);
           img = ImageIO.read(f);
       } catch (IOException e) {
		//System.out.println(e); // e.getMessage());
		if (f!=null) System.out.println("Path: " + f.getAbsolutePath());
		System.out.println(filename + " not found");
		System.exit(-1);
       }
    }

    public void writeImage(String filename) {
		writeImage(filename,"jpg");
    }

    public void writeImage(String filename, String format) {
		File file = new File(filename + "." + format);
		try {
			ImageIO.write(img, format, file);
		} catch (IOException e) {
			System.out.println("image write failed");
			System.out.println(e);
			System.exit(-1);
		}
	}
}


Maintained by John Loomis, updated Sun Mar 25 13:35:31 2018