package elte.java2_utikalauz5.java2d; import java.awt.*; import java.awt.geom.*; import java.awt.color.*; import java.awt.event.*; /** peldaprogram a ColorSpace osztaly hasznalatara. @link.forrásfájl {@docRoot}/../data/java2d/src Szintartomany.java @link.letöltés {@docRoot}/../data/java2d Szintartomany.jar @since Java 2 Útikalauz programozóknak */ class Szintartomany extends Canvas { /** Verziószám */ private final static long serialVersionUID = 15L; public void paint (Graphics g) { Graphics2D g2 = (Graphics2D) g; // CS_GRAY szurke szintartomanyban definialunk egy szint ColorSpace szurkeSzintartomany = ColorSpace.getInstance (ColorSpace.CS_GRAY); float[] szurkeErtek = { 0.5f }; Color szurke = new Color (szurkeSzintartomany, szurkeErtek, 1.0f); // ezzel kirajzolunk egy teglalapot g2.setColor (szurke); g2.fillRect (50, 25, 100, 100); // az elobbi szurke szint atkonvertaljuk a CIEXYZ szintartomanyba ColorSpace CIEXYZSzintartomany = ColorSpace.getInstance (ColorSpace.CS_CIEXYZ); float[] szurkeErtekCIEXYZ = new float[1]; szurkeErtekCIEXYZ = szurkeSzintartomany.toCIEXYZ (szurkeErtek); szurke = new Color (CIEXYZSzintartomany, szurkeErtekCIEXYZ, 1.0f); // az atkonvertalt szinnel is kirajzolunk egy teglalapot g2.setColor (szurke); g2.fillRect (50, 150, 100, 100); // CS_GRAY szurke szintartomanyban az ICC_Profile-lal definialunk egy szint try { ICC_Profile szurkeProfile = ICC_Profile.getInstance ("GRAY.pf"); szurkeSzintartomany = new ICC_ColorSpace (szurkeProfile); szurke = new Color (szurkeSzintartomany, szurkeErtek, 1.0f); // ezzel kirajzolunk egy teglalapot g2.setColor (szurke); g2.fillRect (50, 275, 100, 100); } catch (Exception e) { e.printStackTrace(); } } public static void main (String[] args) { Frame f = new Frame (); f.add (new Szintartomany ()); f.addWindowListener ( new WindowAdapter () { public void windowClosing (WindowEvent e) { System.exit (0); } } ); f.setSize (220, 450); f.setVisible (true); } }