Java tutorial
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(); } }