import java.awt.Frame;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.GraphicsConfiguration;
import java.awt.image.BufferedImage;
import java.awt.image.ColorModel;
import java.awt.image.DirectColorModel;
import java.awt.image.IndexColorModel;
import javax.swing.JFrame;
public class GraphicsInfo extends JFrame {
private void printModelType(ColorModel cm) {
if (cm instanceof DirectColorModel) {
System.out.println("DirectColorModel");
} else if (cm instanceof IndexColorModel) {
System.out.println("IndexColorModel");
} else {
System.out.println("Unknown ColorModel");
}
}
public void paint(Graphics g) {
Graphics2D g2d = (Graphics2D) g;
GraphicsConfiguration gc = g2d.getDeviceConfiguration();
printModelType(gc.getColorModel());
BufferedImage bi = new BufferedImage(20, 20,
BufferedImage.TYPE_BYTE_INDEXED);
Graphics2D g2d2 = bi.createGraphics();
GraphicsConfiguration gc2 = g2d2.getDeviceConfiguration();
printModelType(gc2.getColorModel());
bi = new BufferedImage(20, 20, BufferedImage.TYPE_INT_ARGB);
g2d2 = bi.createGraphics();
gc2 = g2d2.getDeviceConfiguration();
printModelType(gc2.getColorModel());
bi = new BufferedImage(20, 20, BufferedImage.TYPE_USHORT_565_RGB);
g2d2 = bi.createGraphics();
gc2 = g2d2.getDeviceConfiguration();
printModelType(gc2.getColorModel());
}
public static void main(String args[]) {
Frame f = new GraphicsInfo();
f.setTitle("GraphicsInfo");
f.setSize(300, 250);
f.show();
}
}
|