JavaTM Platform
Standard Ed. 6

java.awt.color
클래스 ColorSpace

java.lang.Object 
  상위를 확장 java.awt.color.ColorSpace
모든 구현된 인터페이스:
Serializable
직계의 기존의 서브 클래스:
ICC_ColorSpace


public abstract class ColorSpace
extends Object
implements Serializable

이 abstract 클래스는, Color 객체의 특정의 칼라 스페이스, 또는 ColorModel 객체를 개입시켜, Image, BufferedImage, 또는 GraphicsDevice 의 특정의 칼라 스페이스를 식별하기 위해서 칼라 스페이스 태그로서 기능합니다. 이 클래스에는, 특정의 칼라 스페이스와 sRGB, 및 특정의 칼라 스페이스와 명확하게 정의된 CIEXYZ 칼라 스페이스의 사이에 칼라를 변환하는 메소드가 있습니다.  

이 클래스의 메소드에서는, 칼라는 색성분의 배열로서 나타내집니다. 색성분은, ColorSpace 마다 표준화 된 색성분의 범위의 float 로서 나타내집니다. 색성분의 범위는, 많은 ColorSpace (sRGB 등)에서는 0.0 ~ 1.0 입니다만, 일부의 ColorSpace 에서는 다른 범위가 정의되고 있는 일도 있습니다. 표준화 된 값의 최소치와 최대치는, 성분 마다 준비되어 있는 메소드를 사용해 조회할 수 있습니다.  

칼라 스페이스 타입 (TYPE_RGB, TYPE_XYZ 등)을 나타내기 (위해)때문에, 및 특정의 칼라 스페이스 (CS_sRGB 및 CS_CIEXYZ 등)를 나타내기 위해서(때문에), 몇개의 변수가 정의되고 있습니다. sRGB 는, 검토중의 표준 RGB 칼라 스페이스입니다. 자세한 것은,http://www.w3.org/pub/WWW/Graphics/Color/sRGB.html 를 참조해 주세요.  

명확하게 정의된 CIEXYZ 칼라 스페이스와의 사이에 변환을 실시하는 메소드의 목적은, 2 개의 칼라 스페이스의 사이에 고정밀도의 변환을 지원하는 것입니다. ColorSpace 의 서브 클래스 (ICC_ColorSpace 등)의 특정의 구현은, 기본의 플랫폼의 칼라 관리 시스템에 근거해 고성능의 변환을 지원합니다.  

toCIEXYZ/fromCIEXYZ 메소드에 의해 사용되는 CS_CIEXYZ 영역은, 다음과 같이 기술할 수 있습니다.


      CIEXYZ
      viewing illuminance: 200 lux
      viewing white point: CIE D50
      media white point: "that of a perfectly reflecting diffuser" -- D50 
      media black point: 0 lux or 0 Reflectance
      flare: 1 percent
      surround: 20percent of the media white point
      media description: reflection print (i.e., RLAB, Hunt viewing media)
      note: For developers creating an ICC profile for this conversion
            space, the following is applicable.   Use a simple Von Kries
            white point adaptation folded into the 3X3 matrix parameters
            and fold the flare and surround effects into the three
            one-dimensional lookup tables (assuming one uses the minimal
            model for monitors).

관련 항목:
ICC_ColorSpace , 직렬화 된 형식

필드의 개요
static int CS_CIEXYZ
          위에서 정의된 CIEXYZ 변환 칼라 스페이스입니다.
static int CS_GRAY
          편입 리니어 그레이 스케일 칼라 스페이스입니다.
static int CS_LINEAR_RGB
          편입 리니어 RGB 칼라 스페이스입니다.
static int CS_PYCC
          Photo YCC 변환 칼라 스페이스입니다.
static int CS_sRGB
          sRGB 칼라 스페이스는 http://www.w3.org/pub/WWW/Graphics/Color/sRGB.html 으로 정의되고 있습니다.
static int TYPE_2CLR
          총칭 2 성분 칼라 스페이스입니다.
static int TYPE_3CLR
          총칭 3 성분 칼라 스페이스입니다.
static int TYPE_4CLR
          총칭 4 성분 칼라 스페이스입니다.
static int TYPE_5CLR
          총칭 5 성분 칼라 스페이스입니다.
static int TYPE_6CLR
          총칭 6 성분 칼라 스페이스입니다.
static int TYPE_7CLR
          총칭 7 성분 칼라 스페이스입니다.
static int TYPE_8CLR
          총칭 8 성분 칼라 스페이스입니다.
static int TYPE_9CLR
          총칭 9 성분 칼라 스페이스입니다.
static int TYPE_ACLR
          총칭 10 성분 칼라 스페이스입니다.
static int TYPE_BCLR
          총칭 11 성분 칼라 스페이스입니다.
static int TYPE_CCLR
          총칭 12 성분 칼라 스페이스입니다.
static int TYPE_CMY
          CMY 칼라 스페이스 패밀리의 어떤 것인가입니다.
static int TYPE_CMYK
          CMYK 칼라 스페이스 패밀리의 어떤 것인가입니다.
static int TYPE_DCLR
          총칭 13 성분 칼라 스페이스입니다.
static int TYPE_ECLR
          총칭 14 성분 칼라 스페이스입니다.
static int TYPE_FCLR
          총칭 15 성분 칼라 스페이스입니다.
static int TYPE_GRAY
          GRAY 칼라 스페이스 패밀리의 어떤 것인가입니다.
static int TYPE_HLS
          HLS 칼라 스페이스 패밀리의 어떤 것인가입니다.
static int TYPE_HSV
          HSV 칼라 스페이스 패밀리의 어떤 것인가입니다.
static int TYPE_Lab
          Lab 칼라 스페이스 패밀리의 어떤 것인가입니다.
static int TYPE_Luv
          Luv 칼라 스페이스 패밀리의 어떤 것인가입니다.
static int TYPE_RGB
          RGB 칼라 스페이스 패밀리의 어떤 것인가입니다.
static int TYPE_XYZ
          XYZ 칼라 스페이스 패밀리의 어떤 것인가입니다.
static int TYPE_YCbCr
          YCbCr 칼라 스페이스 패밀리의 어떤 것인가입니다.
static int TYPE_Yxy
          Yxy 칼라 스페이스 패밀리의 어떤 것인가입니다.
 
생성자 의 개요
protected ColorSpace (int type, int numcomponents)
          지정된 칼라 스페이스 타입 및 성분수로, ColorSpace 객체를 구축합니다.
 
메소드의 개요
abstract  float[] fromCIEXYZ (float[] colorvalue)
          CS_CIEXYZ 변환 칼라 스페이스에 있다고 생각되는 칼라치를 이 ColorSpace 로 변환합니다.
abstract  float[] fromRGB (float[] rgbvalue)
          디폴트의 CS_sRGB 칼라 스페이스에 있다고 생각되는 칼라치를 이 ColorSpace 로 변환합니다.
static ColorSpace getInstance (int colorspace)
          특정의 정의가 끝난 칼라 스페이스의 1 개를 나타내는 ColorSpace 를 돌려줍니다.
 float getMaxValue (int component)
          지정된 성분에 대해, 표준화 된 성분치의 최대치를 돌려줍니다.
 float getMinValue (int component)
          지정된 성분에 대해, 표준화 된 성분치의 최소치를 돌려줍니다.
 String getName (int idx)
          지정된 성분 인덱스로, 성분의 이름을 돌려줍니다.
 int getNumComponents ()
          이 ColorSpace 의 성분수를 돌려줍니다.
 int getType ()
          이 ColorSpace 의 칼라 스페이스 타입 (TYPE_RGB, TYPE_XYZ 등)을 돌려줍니다.
 boolean isCS_sRGB ()
          ColorSpace 가 CS_sRGB 의 경우에 true 를 돌려줍니다.
abstract  float[] toCIEXYZ (float[] colorvalue)
          이 ColorSpace 에 있다고 생각되는 칼라치를 CS_CIEXYZ 변환 칼라 스페이스로 변환합니다.
abstract  float[] toRGB (float[] colorvalue)
          이 ColorSpace 에 있다고 생각되는 칼라치를 디폴트의 CS_sRGB 칼라 스페이스의 값으로 변환합니다.
 
클래스 java.lang. Object 로부터 상속된 메소드
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
 

필드의 상세

TYPE_XYZ

public static final int TYPE_XYZ
XYZ 칼라 스페이스 패밀리의 어떤 것인가입니다.

관련 항목:
정수 필드치

TYPE_Lab

public static final int TYPE_Lab
Lab 칼라 스페이스 패밀리의 어떤 것인가입니다.

관련 항목:
정수 필드치

TYPE_Luv

public static final int TYPE_Luv
Luv 칼라 스페이스 패밀리의 어떤 것인가입니다.

관련 항목:
정수 필드치

TYPE_YCbCr

public static final int TYPE_YCbCr
YCbCr 칼라 스페이스 패밀리의 어떤 것인가입니다.

관련 항목:
정수 필드치

TYPE_Yxy

public static final int TYPE_Yxy
Yxy 칼라 스페이스 패밀리의 어떤 것인가입니다.

관련 항목:
정수 필드치

TYPE_RGB

public static final int TYPE_RGB
RGB 칼라 스페이스 패밀리의 어떤 것인가입니다.

관련 항목:
정수 필드치

TYPE_GRAY

public static final int TYPE_GRAY
GRAY 칼라 스페이스 패밀리의 어떤 것인가입니다.

관련 항목:
정수 필드치

TYPE_HSV

public static final int TYPE_HSV
HSV 칼라 스페이스 패밀리의 어떤 것인가입니다.

관련 항목:
정수 필드치

TYPE_HLS

public static final int TYPE_HLS
HLS 칼라 스페이스 패밀리의 어떤 것인가입니다.

관련 항목:
정수 필드치

TYPE_CMYK

public static final int TYPE_CMYK
CMYK 칼라 스페이스 패밀리의 어떤 것인가입니다.

관련 항목:
정수 필드치

TYPE_CMY

public static final int TYPE_CMY
CMY 칼라 스페이스 패밀리의 어떤 것인가입니다.

관련 항목:
정수 필드치

TYPE_2CLR

public static final int TYPE_2CLR
총칭 2 성분 칼라 스페이스입니다.

관련 항목:
정수 필드치

TYPE_3CLR

public static final int TYPE_3CLR
총칭 3 성분 칼라 스페이스입니다.

관련 항목:
정수 필드치

TYPE_4CLR

public static final int TYPE_4CLR
총칭 4 성분 칼라 스페이스입니다.

관련 항목:
정수 필드치

TYPE_5CLR

public static final int TYPE_5CLR
총칭 5 성분 칼라 스페이스입니다.

관련 항목:
정수 필드치

TYPE_6CLR

public static final int TYPE_6CLR
총칭 6 성분 칼라 스페이스입니다.

관련 항목:
정수 필드치

TYPE_7CLR

public static final int TYPE_7CLR
총칭 7 성분 칼라 스페이스입니다.

관련 항목:
정수 필드치

TYPE_8CLR

public static final int TYPE_8CLR
총칭 8 성분 칼라 스페이스입니다.

관련 항목:
정수 필드치

TYPE_9CLR

public static final int TYPE_9CLR
총칭 9 성분 칼라 스페이스입니다.

관련 항목:
정수 필드치

TYPE_ACLR

public static final int TYPE_ACLR
총칭 10 성분 칼라 스페이스입니다.

관련 항목:
정수 필드치

TYPE_BCLR

public static final int TYPE_BCLR
총칭 11 성분 칼라 스페이스입니다.

관련 항목:
정수 필드치

TYPE_CCLR

public static final int TYPE_CCLR
총칭 12 성분 칼라 스페이스입니다.

관련 항목:
정수 필드치

TYPE_DCLR

public static final int TYPE_DCLR
총칭 13 성분 칼라 스페이스입니다.

관련 항목:
정수 필드치

TYPE_ECLR

public static final int TYPE_ECLR
총칭 14 성분 칼라 스페이스입니다.

관련 항목:
정수 필드치

TYPE_FCLR

public static final int TYPE_FCLR
총칭 15 성분 칼라 스페이스입니다.

관련 항목:
정수 필드치

CS_sRGB

public static final int CS_sRGB
sRGB 칼라 스페이스는 http://www.w3.org/pub/WWW/Graphics/Color/sRGB.html 로 정의되고 있습니다.

관련 항목:
정수 필드치

CS_LINEAR_RGB

public static final int CS_LINEAR_RGB
편입 리니어 RGB 칼라 스페이스입니다. 이 영역은, CS_sRGB 와 같은 RGB 원색에 근거하고 있습니다만, 선형의 톤 리프로덕션 커브를 가집니다.

관련 항목:
정수 필드치

CS_CIEXYZ

public static final int CS_CIEXYZ
위에서 정의된 CIEXYZ 변환 칼라 스페이스입니다.

관련 항목:
정수 필드치

CS_PYCC

public static final int CS_PYCC
Photo YCC 변환 칼라 스페이스입니다.

관련 항목:
정수 필드치

CS_GRAY

public static final int CS_GRAY
편입 리니어 그레이 스케일 칼라 스페이스입니다.

관련 항목:
정수 필드치
생성자 의 상세

ColorSpace

protected ColorSpace(int type,
                     int numcomponents)
지정된 칼라 스페이스 타입 및 성분수로, ColorSpace 객체를 구축합니다.

파라미터:
type - ColorSpace 타입 정수의 1 개
numcomponents - 칼라 스페이스의 성분수
메소드의 상세

getInstance

public static ColorSpace  getInstance(int colorspace)
특정의 정의가 끝난 칼라 스페이스의 1 개를 나타내는 ColorSpace 를 돌려줍니다.

파라미터:
colorspace - 정의가 끝난 클래스 정수 (CS_sRGB, CS_LINEAR_RGB, CS_CIEXYZ, CS_GRAY, CS_PYCC 등)의 1 개(살)로 식별되는 특정의 칼라 스페이스
반환값:
요구된 ColorSpace 객체

isCS_sRGB

public boolean isCS_sRGB()
ColorSpace 가 CS_sRGB 의 경우에 true 를 돌려줍니다.

반환값:
ColorSpace 가 CS_sRGB 의 경우는 true, 그렇지 않은 경우는 false

toRGB

public abstract float[] toRGB(float[] colorvalue)
이 ColorSpace 에 있다고 생각되는 칼라치를 디폴트의 CS_sRGB 칼라 스페이스의 값으로 변환합니다.  

이 메소드에서는, 입력과 출력의 색이 가장 지각적으로 가까운 색을 작성할 수 있도록(듯이) 설계된 알고리즘을 사용해, 칼라치를 변환합니다. 칼라치를 비색 변환하려면 , 이 칼라 스페이스의 toCIEXYZ 메소드를 사용해, 최초로 입력 칼라 스페이스로부터 CS_CIEXYZ 칼라 스페이스로 변환해, 다음에 CS_sRGB 칼라 스페이스의 fromCIEXYZ 메소드를 사용해, CS_CIEXYZ 를 출력 칼라 스페이스로 변환합니다. 상세한 것에 대하여는 toCIEXYZfromCIEXYZ 를 참조해 주세요.  

파라미터:
colorvalue - 이 ColorSpace 의 성분수와 적어도 같은 길이의 float 배열
반환값:
길이가 3 의 float 배열
예외:
ArrayIndexOutOfBoundsException - 배열의 길이가, 이 ColorSpace 의 성분수보다 작은 경우

fromRGB

public abstract float[] fromRGB(float[] rgbvalue)
디폴트의 CS_sRGB 칼라 스페이스에 있다고 생각되는 칼라치를 이 ColorSpace 로 변환합니다.  

이 메소드에서는, 입력과 출력의 색이 가장 지각적으로 가까운 색을 작성할 수 있도록(듯이) 설계된 알고리즘을 사용해, 칼라치를 변환합니다. 칼라치를 비색 변환하려면 , CS_sRGB 칼라 스페이스의 toCIEXYZ 메소드를 사용해, 최초로 입력 칼라 스페이스를 CS_CIEXYZ 칼라 스페이스로 변환해, 다음에 이 칼라 스페이스의 fromCIEXYZ 메소드를 사용해, CS_CIEXYZ 를 출력 칼라 스페이스로 변환합니다. 상세한 것에 대하여는 toCIEXYZfromCIEXYZ 를 참조해 주세요.  

파라미터:
rgbvalue - 적어도 3 의 길이를 가지는 float 배열
반환값:
이 ColorSpace 의 성분수로 같은 길이의 float 배열
예외:
ArrayIndexOutOfBoundsException - 배열의 길이가 3 보다 작은 경우

toCIEXYZ

public abstract float[] toCIEXYZ(float[] colorvalue)
이 ColorSpace 에 있다고 생각되는 칼라치를 CS_CIEXYZ 변환 칼라 스페이스로 변환합니다.  

이 메소드는, International Color Consortium 기준으로 정의되고 있는 상대색도 측정을 사용해 칼라치를 변환합니다. 즉, 이 메소드가 돌려주는 XYZ 의 값은 CS_CIEXYZ 칼라 스페이스의 D50 흰색점을 기준으로 해 표시됩니다. 이 표현은, 입력 칼라 스페이스로부터 CS_CIEXYZ 영역에, 다음에 출력 칼라 스페이스에 변환되는, 2 스텝의 칼라 변환 처리에 대해 편리합니다. 이 표현은, 지정된 칼라치로부터 색도계를 사용해 측정하는 XYZ 치와 같지는 않습니다. 현재 CIE 추천의 계산방법을 사용해 측정되고 있는 XYZ 치를 계산하려면 , 한층 더 상세한 변환이 필요합니다. 상세한 것에 대하여는,ICC_ColorSpacetoCIEXYZ 메소드를 참조해 주세요.  

파라미터:
colorvalue - 이 ColorSpace 의 성분수와 적어도 같은 길이의 float 배열
반환값:
길이가 3 의 float 배열
예외:
ArrayIndexOutOfBoundsException - 배열의 길이가, 이 ColorSpace 의 성분수보다 작은 경우

fromCIEXYZ

public abstract float[] fromCIEXYZ(float[] colorvalue)
CS_CIEXYZ 변환 칼라 스페이스에 있다고 생각되는 칼라치를 이 ColorSpace 로 변환합니다.  

이 메소드는, International Color Consortium 기준으로 정의되고 있는 상대색도 측정을 사용해 칼라치를 변환합니다. 즉, 이 메소드가 취하는 XYZ 의 인수치는 CS_CIEXYZ 칼라 스페이스의 D50 흰색점을 기준으로 해 표시됩니다. 이 표현은, 입력 칼라 스페이스로부터 CS_CIEXYZ 영역에, 다음에 출력 칼라 스페이스에 변환되는, 2 스텝의 칼라 변환 처리에 대해 편리합니다. 이 메소드가 돌려주는 칼라치는, 색도계로 측정할 경우에 메소드에게 건네지는 XYZ 치를 생성하는 칼라치가 아닙니다. 현재 CIE 추천의 계산방법을 사용한 측정치에 대응하는 XYZ 치를 계산 끝난 경우는, 그 값이 이 메소드에게 건네지기 전에 D50 상대치로 변환할 필요가 있습니다. 상세한 것에 대하여는,ICC_ColorSpacefromCIEXYZ 메소드를 참조해 주세요.  

파라미터:
colorvalue - 적어도 3 의 길이를 가지는 float 배열
반환값:
이 ColorSpace 의 성분수로 같은 길이의 float 배열
예외:
ArrayIndexOutOfBoundsException - 배열의 길이가 3 보다 작은 경우

getType

public int getType()
이 ColorSpace 의 칼라 스페이스 타입 (TYPE_RGB, TYPE_XYZ 등)을 돌려줍니다. 타입은 칼라 스페이스의 성분수 및 그 해석을 정의합니다. 예를 들어, TYPE_RGB 는 3 개의 성분 (적, 초록, 및 파랑)을 가지는 칼라 스페이스를 식별합니다. 영역의 특정의 색의 특성 (원색의 색도등)은 정의되지 않습니다.

반환값:
ColorSpace 의 타입을 나타내는 타입 정수

getNumComponents

public int getNumComponents()
이 ColorSpace 의 성분수를 돌려줍니다.

반환값:
ColorSpace 의 성분수

getName

public String  getName(int idx)
지정된 성분 인덱스로, 성분의 이름을 돌려줍니다.

파라미터:
idx - 성분 인덱스
반환값:
지정된 인덱스의 성분의 이름
예외:
IllegalArgumentException - idx 가 0 보다 작은지, numComponents - 1 보다 큰 경우

getMinValue

public float getMinValue(int component)
지정된 성분에 대해, 표준화 된 성분치의 최소치를 돌려줍니다. 이 abstract 클래스의 디폴트의 구현은, 모든 성분에 대해서 0.0 을 돌려줍니다. 필요에 따라서, 서브 클래스가 이 메소드를 오버라이드(override) 할 필요가 있습니다.

파라미터:
component - 성분 인덱스
반환값:
표준화 된 성분치의 최소치
예외:
IllegalArgumentException - 성분이 0 보다 작은지, numComponents - 1 보다 큰 경우
도입된 버젼:
1.4

getMaxValue

public float getMaxValue(int component)
지정된 성분에 대해, 표준화 된 성분치의 최대치를 돌려줍니다. 이 abstract 클래스의 디폴트의 구현은, 모든 성분에 대해서 1.0 을 돌려줍니다. 필요에 따라서, 서브 클래스가 이 메소드를 오버라이드(override) 할 필요가 있습니다.

파라미터:
component - 성분 인덱스
반환값:
표준화 된 성분치의 최대치
예외:
IllegalArgumentException - 성분이 0 보다 작은지, numComponents - 1 보다 큰 경우
도입된 버젼:
1.4

JavaTM Platform
Standard Ed. 6

버그의 보고와 기능의 요청
한층 더 자세한 API 레퍼런스 및 개발자 문서에 대해서는,Java SE 개발자용 문서를 참조해 주세요. 개발자전용의 상세한 해설, 개념의 개요, 용어의 정의, 버그의 회피책, 및 코드 실례가 포함되어 있습니다.

Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.