¼Ò¼³°°ÀºÀÚ¹Ù3ºÎ  14Àå ±×·¡ÇÈ  14.2 ColorŬ·¡½º  

 

14.2 ColorŬ·¡½º

 

 ¾Õ¼± FontŬ·¡½º¿¡ À̾î À̹ø¿¡´Â ColorŬ·¡½º¿¡ ´ëÇÏ¿© ¾Ë¾Æº¸°Ú½À´Ï´Ù. ÀÌ ColorŬ·¡½º´Â ¼³¸íÇÒ °Íµµ ¾øÀ» Á¤µµ·Î ½¬¿ö º¸ÀÌÁö ¾Ê½À´Ï±î? ¹Ù·Î »ö±ò¿¡ °ü·ÃµÈ Ŭ·¡½ºÀÔ´Ï´Ù. µµÇüÀÇ »ö±òÀ» ³ªÅ¸³»°Å³ª, ±Û¾¾ÀÇ »ö±òÀ» ³ªÅ¸³»´Â Ŭ·¡½º ÀÔ´Ï´Ù. °£´ÜÇÑ ¿¹Á¦¸¦ º¸°í ¼³¸íµå¸®°Ú½À´Ï´Ù.

 

ColorTest.java(ColorŬ·¡½º¸¦ Å×½ºÆ®Çϱâ À§ÇÑ ¿¹Á¦)

import java.awt.*;

public class ColorTest {

   public static void main(String[] args) {

       int a,b,c;

       a = Integer.parseInt(args[0]);

       b = Integer.parseInt(args[1]);

       c = Integer.parseInt(args[2]);

       Frame f = new Frame();

       f.setSize(100,100);

      f.setBackground(new Color(a,b,c));

       f.setVisible(true);

   }

}

C:\JavaExample\14>javac ColorTest.java

C:\JavaExample\14>java ColorTest 125 125 125

 

 À§ÀÇ ¿¹Á¦´Â Frame¿¡ »ö±òÀ» ³Ö´Â ¿¹Á¦ÀÔ´Ï´Ù. ¿¹Á¦¸¦ º¸¸é ÀÌÇØÇÏ½Ç °Ì´Ï´Ù.

 ¸ÕÀú ÄÄÆÄÀÏÀ» ÇÑ ÈÄ ÇÁ·Î±×·¥À» ½ÇÇà½Ãų ¶§ »öÀÇ ¼ýÀÚ¸¦ ÀÔ·ÂÇØ¾ß ÇÕ´Ï´Ù. ¼ýÀÚ´Â 0ºÎÅÍ 255»çÀÌÀÇ °ªÀ» ³Ö¾î¾ß ÇÕ´Ï´Ù.

 

n        int a = Integer.parseInt(args[0]);

n        int b = Integer.parseInt(args[1]);

n        int c = Integer.parseInt(args[2]);

 

¹Þ¾Æ¿Â °ªÀ» intÇüÀ¸·Î º¯È¯½ÃÄÑ ColorŬ·¡½ºÀÇ »ý¼ºÀÚ¸Þ¼­µåÀÇ ¸Å°³º¯¼ö·Î ³Ö¾îÁÝ´Ï´Ù.

 

n        f.setBackground(new Color(a,b,c));

 

 setBackground()¸Þ¼­µå´Â ¹è°æ »öÀ» ³ªÅ¸³» ÁÖ´Â ¸Þ¼­µåÀΰŠ¾Ë°í °è½ÃÁÒ? ÀÌ ¸Þ¼­µå´Â ¸Å°³º¯¼ö·Î ¹ÞÀº °ªµéÀ» È¥ÇÕÇÏ¿© FrameÀÇ ¹è°æ »öÀ» ³ªÅ¸³» ÁÝ´Ï´Ù. ¿©±â¼­ a´Â Red¸¦ ³ªÅ¸³»°í, b´Â GreenÀ» ³ªÅ¸³»¸ç, c´Â Blue¸¦ ³ªÅ¸³À´Ï´Ù. Áï a°¡ 0ÀÌ¸é »¡°­ºûÀ̰í, 255¸é ÇϾáºûÀ» ³ªÅ¸³À´Ï´Ù. (0,0,0)ÀÌ¸é °ËÁ¤»öÀ̰í, (255,255,255)´Â ÇϾá»öÀÔ´Ï´Ù. ±×¸®°í Á¶±Ý ´õ ¸»¾¸µå¸®¸é »¡°­»öÀº (255,0,0), ÃÊ·Ï»öÀº (0,255,0), ÆÄ¶û»öÀº (0,0,255)ÀÔ´Ï´Ù. º¸Åë ÈçÈ÷ ¸»ÇÏ´Â RGB¶ó´Â °ÍÀº Red, Green, BlueÀÌ ¼¼°¡Áö »öÀ» È¥ÇÕÇÏ´Â °ÍÀ» ¸»ÇÕ´Ï´Ù. À§ÀÇ ¿¹Á¦¸¦ ¼ýÀÚ¸¦ ¹Ù²Ù¾î º¸¸é¼­ Å×½ºÆ® ÇØº¸½Ã¸é ±Ý¹æ ÀÌÇØ ÇÏ½Ç ¼ö ÀÖÀ» °ÍÀÔ´Ï´Ù.

 

¢Ñ ColorŬ·¡½º

RGB Çü½ÄÀ» »ç¿ëÇÏ¿© »öÀ» ĸ½¶È­(encapsulate)ÇÑ´Ù.

RGB Çü½ÄÀ¸·Î »¡°­, ÆÄ¶û, ÃÊ·Ï ÄÄÆ÷³ÍÆ®´Â °¢°¢ 0-255 »çÀÌÀÇ Á¤¼ö·Î Ç¥½ÃµÈ´Ù.

0 °ªÀº ±âº» »ö»óÀÌ ÀüÇô Æ÷ÇÔµÇÁö ¾ÊÀ½À» ³ªÅ¸³»°í, 255 °ªÀº ÀÌ »ö»ó ÄÄÆ÷³ÍÆ®ÀÇ ÃÖ´ë °­µµ¸¦ ³ªÅ¸³½´Ù.

 

 

Color ¸â¹öÇʵå

public static Color black : black À» ³ªÅ¸³À´Ï´Ù.

public static Color blue : blue ¸¦ ³ªÅ¸³À´Ï´Ù.

public static Color cyan ; cyan À» ³ªÅ¸³À´Ï´Ù.

public static Color darkGray : darkGray ¸¦ ³ªÅ¸³À´Ï´Ù.

public static Color gray : gray ¸¦ ³ªÅ¸³À´Ï´Ù.

public static Color green : green À» ³ªÅ¸³À´Ï´Ù.

public static Color lightGray : lightGray ¸¦ ³ªÅ¸³À´Ï´Ù.

public static Color magenta : magenta ¸¦ ³ªÅ¸³À´Ï´Ù.

public static Color orange : orange ¸¦ ³ªÅ¸³À´Ï´Ù.

public static Color pink : pink ¸¦ ³ªÅ¸³À´Ï´Ù.

public static Color red : red ¸¦ ³ªÅ¸³À´Ï´Ù.

public static Color white : white ¸¦ ³ªÅ¸³À´Ï´Ù.

public static Color yellow : yellow ¸¦ ³ªÅ¸³À´Ï´Ù.

 

Color »ý¼ºÀÚ¸Þ¼­µå

public Color (ColorSpace cspace, float[] components, float alpha) : float ¹è¿­·Î ÁöÁ¤µÈ »ö¼ººÐ°ú ÁöÁ¤µÈ ¾ËÆÄ¸¦ »ç¿ëÇØ, ÁöÁ¤µÈ ColorSpace ÀÇ »öÀ» ÀÛ¼ºÇÕ´Ï´Ù. 

public Color (float r, float g, float b) : ¹üÀ§ (0.0 - 1.0)ÀÇ ÁöÁ¤µÈ »¡°­, ÃÊ·Ï, ÆÄ¶ûÀÇ °ªÀ» »ç¿ëÇØ, ºÒÅõ¸íÇÑ sRGB Ä®¶ó¸¦ ÀÛ¼ºÇÕ´Ï´Ù.

public Color (float r, float g, float b, float a) :  ¹üÀ§ (0.0 ~ 1.0)ÀÇ ÁöÁ¤µÈ »¡°­, ÃÊ·Ï, ÆÄ¶û, ¹× ¾ËÆÄÀÇ °ªÀ» »ç¿ëÇØ sRGB Ä®¶ó¸¦ ÀÛ¼ºÇÕ´Ï´Ù. 

public Color (int rgb) :  ºñÆ® 16-23 ÀÇ Àû»ö ¼ººÐ, ºñÆ® 8-15 ÀÇ ³ì»ö ¼ººÐ, ¹× ºñÆ® 0-7 ÀÇ Ã»»ö ¼ººÐÀ¸·ÎºÎÅÍ ÇÕ¼ºµÈ, ÁöÁ¤µÈ RGB °ªÀ» »ç¿ëÇØ, ºÒÅõ¸íÇÑ sRGB Ä®¶ó¸¦ ÀÛ¼ºÇÕ´Ï´Ù. 

public Color (int rgba, boolean hasalpha) :  ºñÆ® 24 ~ 31 ÀÇ ¾ËÆÄ ¼ººÐ, ºñÆ® 16 ~ 23 ÀÇ Àû»ö ¼ººÐ, ºñÆ® 8 ~ 15 ÀÇ ³ì»ö ¼ººÐ, ¹× ºñÆ® 0 ~ 7 ÀÇ Ã»»ö ¼ººÐÀ¸·Î ±¸¼ºµÇ´Â, ÁöÁ¤µÈ RGBA °ªÀ» °¡Áö´Â, sRGB Ä®¶ó¸¦ ÀÛ¼ºÇÕ´Ï´Ù.

public Color (int r, int g, int b) :  ¹üÀ§ (0 ~ 255)ÀÇ ÁöÁ¤µÈ »¡°­, ÃÊ·Ï, ÆÄ¶ûÀÇ °ªÀ» »ç¿ëÇØ, ºÒÅõ¸íÇÑ sRGB Ä®¶ó¸¦ ÀÛ¼ºÇÕ´Ï´Ù. 

public Color (int r, int g, int b, int a) : ¹üÀ§ (0 - 255)ÀÇ ÁöÁ¤µÈ »¡°­, ÃÊ·Ï, ÆÄ¶û, ¹× ¾ËÆÄ°ªÀ» »ç¿ëÇØ sRGB Ä®¶ó¸¦ ÀÛ¼ºÇÕ´Ï´Ù.

 

 

Color ÁÖ¿ä ¸â¹ö¸Þ¼­µå

public Color brighter () : ÀÌ Color¸¦ º¸´Ù ¹à°Ô ÇÑ, »õ·Î¿î Color¸¦ ÀÛ¼ºÇÕ´Ï´Ù. 

public PaintContext  createContext (ColorModel  cm, Rectangle  r, Rectangle2D  r2d, AffineTransform  xform, RenderingHints  hints) : ¼Ö¸®µå Ä®¶ó ÆÐÅÏÀ» ÀÛ¼ºÇϱâ À§Çؼ­ »ç¿ëµÇ´Â PaintContext¸¦ ÀÛ¼ºÇØ µ¹·ÁÁÝ´Ï´Ù. 

public Color darker () :  ÀÌ Color¸¦ º¸´Ù ¾îµÓ°Ô ÇÑ, »õ·Î¿î Color¸¦ ÀÛ¼ºÇÕ´Ï´Ù. 

public static Color decode (String  nm) : StringÀ» Á¤¼ö°ªÀ¸·Î º¯È¯ÇØ, ÁöÁ¤µÈ ºÒÅõ¸íÇÑ Color¸¦ µ¹·ÁÁÝ´Ï´Ù. 

public boolean equals (Object obj) : ´Ù¸¥ Object°¡ ÀÌ Color¿Í °°ÀºÁö ¾î¶²Áö¸¦ ÆÇÁ¤ ÇÕ´Ï´Ù. 

public int getAlpha () : 0 ~ 255 ÀÇ ¹üÀ§¿¡ ÀÖ´Â ¾ËÆÄ ¼ººÐÀ» µ¹·ÁÁÝ´Ï´Ù.

public int getBlue () : DefaultÀÇ sRGB ¿µ¿ªÀÇ 0 ~ 255 ÀÇ ¹üÀ§¿¡ ÀÖ´Â ÆÄ¶û»ö ¼ººÐÀ» µ¹·ÁÁÝ´Ï´Ù. 

public static Color getColor (String nm) : ½Ã½ºÅÛ Æ¯¼º¿¡¼­ »öÀ» °Ë»öÇÕ´Ï´Ù. 

public static Color getColor (String nm, Color  v) :  ½Ã½ºÅÛ Æ¯¼º¿¡¼­ »öÀ» °Ë»öÇÕ´Ï´Ù. 

public static Color getColor (String nm, int v) :  ½Ã½ºÅÛ Æ¯¼º¿¡¼­ »öÀ» °Ë»öÇÕ´Ï´Ù. 

public float[] getColorComponents (ColorSpace cspace, float[] compArray) : cspaceÆÄ¶ó¹ÌÅÍ¿¡ ÀÇÇØ ÁöÁ¤µÈ ColorSpace·Î ³ªÅ¸³»Áö´Â ColorÀÇ »ö¼ººÐ¸¸Å­À» °Ý³³ ÇÏ´Â float¹è¿­À» µ¹·ÁÁÝ´Ï´Ù. 

public float[] getColorComponents (float[] compArray) : ColorÀÇ ColorSpace·Î ³ªÅ¸³»Áö´Â ColorÀÇ »ö¼ººÐ¸¸Å­À» °Ý³³ ÇÏ´Â float¹è¿­À» µ¹·ÁÁÝ´Ï´Ù. 

public ColorSpace getColorSpace () : ÀÌ ColorÀÇ ColorSpace¸¦ µ¹·ÁÁÝ´Ï´Ù. 

public float[] getComponents (ColorSpace cspace, float[] compArray) : cspaceÆÄ¶ó¹ÌÅÍ¿¡ ÀÇÇØ ÁöÁ¤µÈ ColorSpace ·Î ³ªÅ¸³»Áö´Â ColorÀÇ »ö¼ººÐ ¹× ¾ËÆÄ ¼ººÐÀ» °Ý³³ ÇÏ´Â float¹è¿­À» µ¹·ÁÁÝ´Ï´Ù. 

public float[] getComponents (float[] compArray) : ColorÀÇ ColorSpace·Î ³ªÅ¸³»Áö´Â ColorÀÇ »ö¼ººÐ ¹× ¾ËÆÄ ¼ººÐÀ» °Ý³³ ÇÏ´Â float¹è¿­À» µ¹·ÁÁÝ´Ï´Ù. 

public int getGreen () :  µðÆúÆ®ÀÇ sRGB ¿µ¿ªÀÇ 0 ~ 255 ÀÇ ¹üÀ§¿¡ ÀÖ´Â ÃÊ·Ï»ö ¼ººÐÀ» µ¹·ÁÁÝ´Ï´Ù. 

public static Color getHSBColor (float h, float s, float b) : HSBÄ®¶ó ¸ðµ¨¿¡ ÁöÁ¤µÈ °ª¿¡ ±Ù°ÅÇØ Color Object¸¦ ÀÛ¼ºÇÕ´Ï´Ù. 

public int getRed () : DefaultÀÇ sRGB ¿µ¿ªÀÇ 0 ~ 255 ÀÇ ¹üÀ§¿¡ ÀÖ´Â »¡°­»ö ¼ººÐÀ» µ¹·ÁÁÝ´Ï´Ù. 

public int getRGB () : DefaultÀÇ sRGB ColorModelÀÇ »öÀ» ³ªÅ¸³»´Â RGB°ªÀ» µ¹·ÁÁÝ´Ï´Ù (ºñÆ®Áß 24 ~ 31 Àº ¾ËÆÄ, 16 ~ 23 Àº »¡°­, 8 ~ 15 ´Â ÃÊ·Ï, 0 ~ 7 Àº ÆÄ¶û).

public float[] getRGBColorComponents (float[] compArray) :  µðÆúÆ®ÀÇ sRGBÄ®¶ó ¿µ¿ª¿¡¼­ ³ªÅ¸³»Áö´Â ColorÀÇ »ö¼ººÐ¸¸Å­À» Æ÷ÇÔ ÇÏ´Â float¹è¿­À» µ¹·ÁÁÝ´Ï´Ù. 

public float[] getRGBComponents (float[] compArray) :  µðÆúÆ®ÀÇ sRGBÄ®¶ó ¿µ¿ª¿¡¼­ ³ªÅ¸³»Áö´Â ColorÀÇ »ö¼ººÐ ¹× ¾ËÆÄ ¼ººÐÀ» Æ÷ÇÔ ÇÏ´Â float¹è¿­À» µ¹·ÁÁÝ´Ï´Ù. 

public int getTransparency () : ÀÌ ColorÀÇ Åõ¸íµµ ¸ðµå¸¦ µ¹·ÁÁÝ´Ï´Ù. 

public int hashCode () : ÀÌ ColorÀÇ hash code value¸¦ °è»êÇÕ´Ï´Ù. 

public static int HSBtoRGB (float hue, float saturation, float brightness) :  HSB¸ðµ¨¿¡ ÀÇÇØ ÁöÁ¤µÇ´Â »öÀÇ ¼ººÐÀ», ´ëÀÀÇÏ´Â µðÆúÆ®ÀÇ RGB¸ðµ¨ÀÇ °ª¼¼Æ®·Î º¯È¯ÇÕ´Ï´Ù. 

public static float[] RGBtoHSB (int r, int g, int b, float[] hsbvals) : µðÆúÆ®ÀÇ RGB¸ðµ¨¿¡ ÀÇÇØ ÁöÁ¤µÈ »öÀÇ ¼ººÐÀ», HSB ¸ðµ¨ÀÇ 3 °³ÀÇ ¼ººÐÀÎ »ö»ó, äµµ, ¸íµµÀÇ °ªÀÇ ´ëÀÀÇÏ´Â ¼¼Æ®·Î º¯È¯ÇÕ´Ï´Ù. 

public String toString () :  ÀÌ ColorÀÇ Ä³¸¯ÅÍ ¶óÀΠǥÇöÀ» µ¹·ÁÁÝ´Ï´Ù.



jabookÀúÀÚ¸íÇÔ
Á¦¸ñ:¼Ò¼³°°ÀºÀÚ¹Ù3ºÎ
ÀúÀÚ:ÃÖ¿µ°ü