ColorModel: getComponents(int pixel, int[] components, int offset) : ColorModel « java.awt.image « Java by API






ColorModel: getComponents(int pixel, int[] components, int offset)


import java.awt.Color;
import java.awt.image.ColorModel;
import java.awt.image.IndexColorModel;

public class MainClass {
  public static void main(String[] args) throws Exception {
    byte ff = (byte) 0xff;
    byte[] r = { ff, 0, 0, ff, 0 };
    byte[] g = { 0, ff, 0, ff, 0 };
    byte[] b = { 0, 0, ff, ff, 0 };

    ColorModel cm = new IndexColorModel(3, 5, r, g, b);

    Color[] colors = { new Color(255, 0, 0), new Color(0, 255, 0), new Color(0, 0, 255)};

    for (int i = 0; i < colors.length; i++) {
      int rgb = colors[i].getRGB();
      Object pixel = cm.getDataElements(rgb, null);
      System.out.println(colors[i] + " -> " + ((byte[]) pixel)[0]);
    }

    for (byte i = 0; i < 5; i++) {
      int[] unnormalizedComponents = cm.getComponents(i, null, 0);
      System.out.print(i + " -> unnormalized components");
      for (int j = 0; j < unnormalizedComponents.length; j++)
        System.out.print(" " + unnormalizedComponents[j]);
      System.out.println();
    }
  }
}

           
       








Related examples in the same category

1.ColorModel: getDataElements(int rgb, Object pixel)
2.ColorModel: getNormalizedComponents(int[] components, int offset, float[] normComponents, int normOffset)
3.ColorModel: getUnnormalizedComponents(float[] normComponents, int normOffset, int[] components, int offset)