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.javaimport 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