FindComponents.java Source code

Java tutorial

Introduction

Here is the source code for FindComponents.java

Source

/*
    
Java Media APIs: Cross-Platform Imaging, Media and Visualization
Alejandro Terrazas
Sams, Published November 2002, 
ISBN 0672320940
*/

import java.awt.image.DirectColorModel;

public class FindComponents {
    DirectColorModel dcm32;

    DirectColorModel dcm16;

    int[] components;

    float[] componentsf;

    int value32;

    short value16;

    int red8, green8, blue8, alpha8;

    short red5, green5, blue5;

    /**
     * FindComponents.java -- prints out normalized color components for two
     * different
     */
    public FindComponents() {
        red8 = red5 = 30;
        green8 = green5 = 20;
        blue8 = blue5 = 10;
        alpha8 = 255;

        dcm32 = new DirectColorModel(32, 0x00ff0000, 0x0000ff00, 0x000000ff, 0xff000000);
        value32 = (alpha8 << 24) + (red8 << 16) + (green8 << 8) + blue8;
        components = dcm32.getComponents(value32, null, 0);
        componentsf = dcm32.getNormalizedComponents(components, 0, null, 0);
        System.out.println("Normalized components are: ");
        for (int i = 0; i < componentsf.length; i++)
            System.out.println("\t" + componentsf[i]);

        dcm16 = new DirectColorModel(16, 0x7c00, 0x3e0, 0x1f);
        value16 = (short) ((red5 << 10) + (green5 << 5) + blue5);
        components = dcm16.getComponents(value16, null, 0);
        componentsf = dcm16.getNormalizedComponents(components, 0, null, 0);
        System.out.println("Normalized components are: ");
        for (int i = 0; i < componentsf.length; i++)
            System.out.println("\t" + componentsf[i]);
    }

    public static void main(String[] args) {
        new FindComponents();
    }
}