ImageShow2.java

Two different main programs are shown main1 produces two image frames. See p2a.jar

     

main2 produces one frame with two images side-by-side. See p2b.jar

The program uses

ImageFrame.java
ImagePanel.java
ImageOp.java which contains rgb2gray


ImageShow2.java

import java.awt.*;
import java.awt.image.*;
import javax.imageio.*;
import javax.swing.*;

public class ImageShow2  {
 
    public static void main1(String[] args) {
	// load the image
	String filename =  (args.length>0)? args[0]: "bld.jpg";

	ImagePanel p1 = new ImagePanel(filename);
	ImageFrame f1 = new ImageFrame(p1);
	f1.setLocation(100,100);
	f1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

	BufferedImage gray = ImageOp.rgb2gray(p1.img);

	ImageFrame f2 = new ImageFrame(new ImagePanel(gray,"grayscale image"));
	Dimension dim = f1.getSize();
	f2.setLocation(140+dim.width,100);
	//f2.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
     }

    public static void main(String[] args) {
	// load the image
	String filename =  (args.length>0)? args[0]: "bld.jpg";

	ImagePanel p1 = new ImagePanel(filename);
	ImageFrame f1 = new ImageFrame(p1);
	f1.setLocation(100,100);
	f1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

	BufferedImage gray = ImageOp.rgb2gray(p1.img);

	JPanel p2 = new ImagePanel(gray,"grayscale image");
	f1.add(p2,BorderLayout.EAST);
	f1.pack();
     }
}


Maintained by John Loomis, updated Tue Mar 03 20:23:20 2020