Mega Code Archive

 
Categories / Java / 2D Graphics GUI
 

Checking for Color Models

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