ColorModel (Java Platform SE 6) - xrath.com 에서 번역됨

개요 | 패키지 | 클래스 | 사용 | 계층 트리 | 비추천 API | 색인 | 헬프

JavaTM Platform
Standard Ed. 6

앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음
개요: 상자 | 필드 | 생성자 | 메소드 | 상세 : 필드 | 생성자 | 메소드

## java.awt.image
클래스 ColorModel

    java.lang.Object
      java.awt.image.ColorModel

모든 구현된 인터페이스:
  Transparency

직계의 기존의 서브 클래스:
  ComponentColorModel , IndexColorModel , PackedColorModel

    public abstract class ColorModel

extends Object
implements Transparency

`ColorModel` abstract 클래스는, 픽셀치를 색성분 (적, 초록, 파랑등) 및 알파 성분으로 변환하는 메소드를 캡슐화합니다. 이미지를 스크린, 프린터, 또는 다른 이미지에 draw 하려면 , 픽셀치를 색성분 및 알파 성분으로 변환할 필요가 있습니다. 이 클래스의 메소드의 인수 또는 반환값으로서 픽셀은 32 비트 int 또는 원시형의 배열로서 나타내집니다. `ColorModel` 의 색성분의 수, 순서, 및 해석은,`ColorSpace` 로 지정합니다. 알파 정보를 가지지 않는 픽셀 데이터와 함께 사용되는 `ColorModel` 는, 모든 픽셀을 불투명 (알파치 1.0)으로서 처리합니다.

이 `ColorModel` 클래스에서는, 픽셀치의 2 개의 표현을 지원합니다. 픽셀치는, 단일의 32 비트 int 또는 원시형의 배열로서 나타낼 수가 있습니다. Java(TM) Platform 1.0 및 1.1 API 에서는, 픽셀은 단일의 `byte` 치 또는 단일의 `int` 치로 표현되었습니다. `ColorModel` 클래스에서는, 픽셀 가격인하수는 int 로서 건네받았습니다. Java(TM) 2 Platform API 에서는, 이미지를 나타내기 위한 새로운 클래스가 도입되었습니다. `Raster` 클래스 및 `SampleModel` 클래스에 근거하는 `BufferedImage` 객체 또는 `RenderedImage` 객체의 경우, 픽셀치는 단일의 int 로서는 표현할 수 없습니다. 이 때문에, 현재,`ColorModel` 에는 원시형의 배열로서 표시된 픽셀치를 받아들이는 메소드가 있습니다. 특정의 `ColorModel` 객체에 의해 사용되는 원시형은, 전송형으로 불립니다.

픽셀치를 단일의 int 로서 표현할 수 없는 이미지와 함께 사용되는 `ColorModel` 객체는, 단일의 int 픽셀 인수를 취하는 메소드가 불려 가면(자) `IllegalArgumentException` 를 throw 합니다. `ColorModel` 의 서브 클래스에서는, 이 예외가 발생하는 조건을 지정할 필요가 있습니다. `DirectColorModel` 객체나 `IndexColorModel` 객체에서는, 이 예외는 발생하지 않습니다.

현재 Java 2D(TM) API 로 지원되고 있는 전송형은, DataBuffer.TYPE_BYTE, DataBuffer.TYPE_USHORT, DataBuffer.TYPE_INT, DataBuffer.TYPE_SHORT, DataBuffer.TYPE_FLOAT, 및 DataBuffer.TYPE_DOUBLE 입니다. 전송형의 처음의 3 개에 근거하는 ColorModel 와 이미지를 사용하면(자), 대부분의 draw 조작이 보다 빠르게 실행됩니다. 또, 나머지의 3 개의 전송형에 근거하는 ColorModel 와 이미지에 대해서는, 이미지의 필터 조작 가운데 몇개인가가 지원되고 있지 않습니다. 특정의 `ColorModel` 객체의 전송형은, 객체가 생성될 때 명시적으로 또는 디폴트로 지정됩니다. `ColorModel` 의 각 서브 클래스에서는, 이용 가능한 전송형이 언젠가, 및 픽셀을 나타내는 프리미티브(primitive) 배열의 요소수를 어떻게 결정할 수 있는지를 지정할 필요가 있습니다.

`BufferedImage` 의 경우,`Raster` 및 `Raster` 객체의 `SampleModel` 의 전송형 (그러한 클래스의 `getTransferType` 메소드를 개입시켜 취득할 수 있다)은,`ColorModel` 의 전송형과 일치할 필요가 있습니다. `Raster` 및 `SampleModel` 의 픽셀을 나타내는 배열의 요소수 (그러한 클래스의 `getNumDataElements` 메소드를 개입시켜 취득할 수 있다)는,`ColorModel` 와 일치할 필요가 있습니다.

픽셀치로부터 색성분 및 알파 성분에의 변환에 사용하는 알고리즘은, 서브 클래스에 의해 다릅니다. 예를 들어,`BufferedImage` 객체의 `Raster` 의 `SampleModel` 에 의해 얻을 수 있는 샘플과 색성분 및 알파 성분의 사이는 1 대 1 으로 대응하고 있지 않아도 괜찮습니다. 1 대 1 의 대응이 있는 경우에서도, 샘플의 비트수는, 대응하는 색성분 및 알파 성분의 비트수와 같지 않아도 괜찮습니다. 각 서브 클래스에서는, 픽셀치로부터 색성분 및 알파 성분에의 변환이 어떻게 행해지는지를 지정할 필요가 있습니다.

`ColorModel` 클래스의 메소드는, 색성분 및 알파 성분의 2 개가 다른 표현인 표준화 형식과 비표준화 형식을 사용합니다. 표준화 형식에서는, 각 성분은 최소치와 최대치의 사이의 `float` 치입니다. 알파 성분에서는, 최소치는 0.0, 최대치는 1.0 입니다. 색성분에서는, 각 성분의 최소치와 최대치는 `ColorSpace` 객체로부터 취득할 수 있어 값은 일반적으로 0.0 으로 1.0 (디폴트의 sRGB 칼라 영역에 있는 표준화 성분의 값의 범위는 0.0 ~ 1.0, 등)입니다만, 이것과 다른 상한과 하한의 성분치를 가지는 칼라 영역도 있습니다. 이러한 한계치는 `ColorSpace` 클래스의 `getMinValue` 메소드 및 `getMaxValue` 메소드를 사용해 취득할 수 있습니다. 표준화색성분치는 미리 곱셈되지 않습니다. 모든 `ColorModels` 는 표준화 형식을 지원할 필요가 있습니다.

비표준화 형식에서는, 각 성분은 0 으로 2n - 1 의 사이의 부호 없음 정수치입니다. n 는, 특정의 성분의 유효 비트의 수입니다. 특정의 `ColorModel` 의 픽셀치가 알파 샘플로 미리 곱셈되고 있는 칼라 샘플을 나타내는 경우, 비표준화색성분도 똑같이 미리 곱셈됩니다. 비표준화 형식은,`ColorSpace` 가 모든 성분에 대해서 최소 성분치가 0.0, 최대 성분치가 1.0 인 `ColorModel` 의 인스턴스만과 함께 사용됩니다. 비표준화 형식의 색성분과 알파 성분은, 표준화 성분치가 모두 0.0 으로 1.0 의 사이에 있는 `ColorModels` 를 나타낼 수가 있습니다. 이러한 경우, 정수치 0 은 0.0 에 맵 되어 값 2n -1 는 1.0 에 맵 됩니다. 이외의, 예를 들어 표준화 성분치가 정 또는 부의 경우는, 비표준화 형식은 적절하지는 않습니다. 이러한 `ColorModel` 객체는, 비표준화 인수를 포함한 메소드가 불려 가면(자) `IllegalArgumentException` 를 throw 합니다. `ColorModel` 의 서브 클래스에서는, 이 예외가 발생하는 조건을 지정할 필요가 있습니다.

관련 항목:
  `IndexColorModel` , `ComponentColorModel` , `PackedColorModel` , `DirectColorModel` , `Image` , `BufferedImage` , `RenderedImage` , `ColorSpace` , `SampleModel` , `Raster` , `DataBuffer`

필드의 개요
`protected int` | `pixel_bits` 픽셀의 총비트수입니다.
`protected int` | `transferType` 픽셀치의 표현에 사용되는 배열의 데이터형입니다.

인터페이스 java.awt. Transparency 로부터 상속된 필드
`BITMASK , OPAQUE , TRANSLUCENT`

생성자 의 개요
`` | `ColorModel (int bits)` 지정된 비트수의 픽셀을 색성분 및 알파 성분으로 변환하는 `ColorModel` 를 구축합니다.
`protected` | `ColorModel (int pixel_bits, int[] bits, ColorSpace cspace, boolean hasAlpha, boolean isAlphaPremultiplied, int transparency, int transferType)` 픽셀치를 색성분 및 알파 성분으로 변환하는 `ColorModel` 를 구축합니다.

메소드의 개요
`ColorModel` | `coerceData (WritableRaster raster, boolean isAlphaPremultiplied)` 라스터 데이터가 `isAlphaPremultiplied` 변수로 지정된 상태와 일치하도록(듯이) 합니다.
`SampleModel` | `createCompatibleSampleModel (int w, int h)` 이 `ColorModel` 와 호환성이 있는 데이터 레이아웃을 가지는, 지정된 폭과 높이의 `SampleModel` 를 작성합니다.
`WritableRaster` | `createCompatibleWritableRaster (int w, int h)` 이 `ColorModel` 와 호환성이 있는 데이터 레이아웃 (`SampleModel`)을 가지는, 지정된 폭과 높이의 `WritableRaster` 를 생성합니다.
`boolean` | `equals (Object obj)` 지정된 `Object` 가 `ColorModel` 의 인스턴스이며, 이 `ColorModel` 와 동일한지 어떤지를 판정합니다.
`void` | `finalize ()` 이 `ColorModel` 가 참조되지 않게 되었을 때에, 관련한 system resource를 파기합니다.
`abstract int` | `getAlpha (int pixel)` 지정된 픽셀의 알파 성분을, 0 ~ 255 의 범위에서 슬캘링 해 돌려줍니다.
`int` | `getAlpha (Object inData)` 지정된 픽셀의 알파 성분을 0 ~ 255 의 범위에서 슬캘링 해 돌려줍니다.
`WritableRaster` | `getAlphaRaster (WritableRaster raster)` 이 `ColorModel` 의 픽셀치가 다른 공간 밴드로서 색정보 및 알파 정보를 나타내는 경우 (`ComponentColorModel` 및 `DirectColorModel` 등)에, 입력 `Raster` 로부터 추출된, 이미지의 알파 채널을 나타내는 `Raster` 를 돌려줍니다.
`abstract int` | `getBlue (int pixel)` 지정된 픽셀의 파랑의 색성분을, 디폴트의 RGB ColorSpace, 즉 sRGB 의 0 ~ 255 의 범위에서 슬캘링 해 돌려줍니다.
`int` | `getBlue (Object inData)` 지정된 픽셀의 청색 성분을 디폴트 RGB `ColorSpace` (sRGB)의 0 ~ 255 의 범위에서 슬캘링 해 돌려줍니다.
`ColorSpace` | `getColorSpace ()` 이 `ColorModel` 에 관련한 `ColorSpace` 를 돌려줍니다.
`int[]` | `getComponents (int pixel, int[] components, int offset)` 이 `ColorModel` 로 픽셀을 지정해, 표준화되어 있지 않은 색성분과 알파 성분의 배열을 돌려줍니다.
`int[]` | `getComponents (Object pixel, int[] components, int offset)` 이 `ColorModel` 로 픽셀을 지정해, 표준화되어 있지 않은 색성분과 알파 성분의 배열을 돌려줍니다.
`int[]` | `getComponentSize ()` 색성분 및 알파 성분마다의 비트수의 배열을 돌려줍니다.
`int` | `getComponentSize (int componentIdx)` 지정된 색성분 및 알파 성분의 비트수를 돌려줍니다.
`int` | `getDataElement (float[] normComponents, int normOffset)` 표준화되어 있지 않은 색성분 및 알파 성분의 배열을 지정해, 이 `ColorModel` 에 `int` 로서 나타내지는 픽셀치를 돌려줍니다.
`int` | `getDataElement (int[] components, int offset)` 표준화되어 있지 않은 색성분과 알파 성분의 배열을 지정해, 이 `ColorModel` 의 `int` 로서 표현되는 픽셀치를 돌려줍니다.
`Object` | `getDataElements (float[] normComponents, int normOffset, Object obj)` 표준화색성분 및 알파 성분의 배열을 지정해, 이 `ColorModel` 의 픽셀의 데이터 요소 배열 표현을 돌려줍니다.
`Object` | `getDataElements (int[] components, int offset, Object obj)` 표준화되어 있지 않은 색성분 및 알파 성분의 배열을 지정해, 이 `ColorModel` 의 픽셀의 데이터 요소 배열 표현을 돌려줍니다.
`Object` | `getDataElements (int rgb, Object pixel)` 디폴트 RGB 칼라 모델의 정수형 픽셀 표현을 지정해, 이 `ColorModel` 의 픽셀의 데이터 요소 배열 표현을 돌려줍니다.
`abstract int` | `getGreen (int pixel)` 지정된 픽셀의 초록의 색성분을, 디폴트의 RGB ColorSpace, 즉 sRGB 의 0 ~ 255 의 범위에서 슬캘링 해 돌려줍니다.
`int` | `getGreen (Object inData)` 지정된 픽셀의 녹색 성분을 디폴트 RGB `ColorSpace` (sRGB)의 0 ~ 255 의 범위에서 슬캘링 해 돌려줍니다.
`float[]` | `getNormalizedComponents (int[] components, int offset, float[] normComponents, int normOffset)` 표준화 성분 배열을 지정해, 비표준화 형식에서 모든 색성분 및 알파 성분의 배열을 돌려줍니다.
`float[]` | `getNormalizedComponents (Object pixel, float[] normComponents, int normOffset)` 이 `ColorModel` 의 지정된 픽셀에 대해, 표준화 형식에서 색성분과 알파 성분의 배열을 돌려줍니다.
`int` | `getNumColorComponents ()` 이 `ColorModel` 의 색성분수를 돌려줍니다.
`int` | `getNumComponents ()` 이 `ColorModel` 의 성분 (알파를 포함한다)의 수를 돌려줍니다.
`int` | `getPixelSize ()` 이 `ColorModel` 에 의해 기술되는 픽셀마다의 비트수를 돌려줍니다.
`abstract int` | `getRed (int pixel)` 지정된 픽셀의 빨강의 색성분을, 디폴트의 RGB ColorSpace, 즉 sRGB 의 0 ~ 255 의 범위에서 슬캘링 해 돌려줍니다.
`int` | `getRed (Object inData)` 지정된 픽셀의 적색 성분을 디폴트 RGB `ColorSpace` (sRGB)의 0 ~ 255 의 범위에서 슬캘링 해 돌려줍니다.
`int` | `getRGB (int pixel)` 픽셀의 색성분과 알파 성분을, 디폴트의 RGB 칼라 모델 형식에서 돌려줍니다.
`int` | `getRGB (Object inData)` 지정된 픽셀의 색성분 및 알파 성분을 디폴트 RGB 칼라 모델 형식에서 돌려줍니다.
`static ColorModel` | `getRGBdefault ()` 프로그래머를 위해서(때문에), AWT 이미지 인터페이스가 많은 메소드로 사용되는 정수형 RGB 치의 디폴트 형식을 기술하는 `DirectColorModel` 를 돌려줍니다.
`int` | `getTransferType ()` 이 `ColorModel` 의 전송형을 돌려줍니다.
`int` | `getTransparency ()` 투명도를 돌려줍니다.
`int[]` | `getUnnormalizedComponents (float[] normComponents, int normOffset, int[] components, int offset)` 표준화 성분 배열을 지정해, 비표준화 형식에서 모든 색성분 및 알파 성분의 배열을 돌려줍니다.
`boolean` | `hasAlpha ()` 알파가 이 `ColorModel` 로 지원되고 있는지 어떤지를 돌려줍니다.
`int` | `hashCode ()` 이 ColorModel 의 해시 코드를 돌려줍니다.
`boolean` | `isAlphaPremultiplied ()` 이 `ColorModel` 로 변환되는 픽셀치로 알파가 미리 곱셈되고 있는지 어떤지를 돌려줍니다.
`boolean` | `isCompatibleRaster (Raster raster)` `raster` 가 이 `ColorModel` 와 호환성이 있는 경우에는 `true` 를 돌려주어, 그렇지 않은 경우에는 `false` 를 돌려줍니다.
`boolean` | `isCompatibleSampleModel (SampleModel sm)` `SampleModel` 가 이 `ColorModel` 와 호환성이 있을지 어떨지를 판정합니다.
`String` | `toString ()` 이 `ColorModel` 객체의 내용을 나타내는 `String` 를 돌려줍니다.

클래스 java.lang. Object 로부터 상속된 메소드
`clone , getClass , notify , notifyAll , wait , wait , wait`

필드의 상세

### pixel_bits

    protected int pixel_bits

  픽셀의 총비트수입니다.

### transferType

    protected int transferType

  픽셀치의 표현에 사용되는 배열의 데이터형입니다.

생성자 의 상세

### ColorModel

    public ColorModel(int bits)

  지정된 비트수의 픽셀을 색성분 및 알파 성분으로 변환하는 `ColorModel` 를 구축합니다. 칼라 스페이스는 디폴트의 RGB `ColorSpace` (sRGB)입니다. 픽셀치에는, 알파 정보가 포함되어 있다고 보여집니다. 색 및 알파의 정보가 다른 공간 밴드로서 픽셀치로 나타내지는 경우, 칼라 밴드에는 알파치가 미리 곱셈되고 있지 않습니다. 투명도형은, java.awt.Transparency.TRANSLUCENT 입니다. 전송형은, 단일 픽셀을 보관 유지할 수가 있는 DataBuffer.TYPE_BYTE, DataBuffer.TYPE_USHORT, 또는 DataBuffer.TYPE_INT 의 최소치입니다 (비트가 32 보다 큰 경우는 DataBuffer.TYPE_UNDEFINED). 이 생성자 은 색성분 및 알파 성분마다의 비트수에 관한 정보를 가지지 않기 때문에, 이 생성자 을 호출하는 서브 클래스는, 이 정보를 필요로 하는 메소드를 오버라이드(override) 합니다.

  파라미터:
    `bits` - 픽셀의 비트수
  예외:
    `IllegalArgumentException` - `bits` 의 비트수가 1 보다 작은 경우

### ColorModel

    protected ColorModel(int pixel_bits,
                         int[] bits,
                         ColorSpace  cspace,
                         boolean hasAlpha,
                         boolean isAlphaPremultiplied,
                         int transparency,
                         int transferType)

  픽셀치를 색성분 및 알파 성분으로 변환하는 `ColorModel` 를 구축합니다. 색성분은, 지정된 `ColorSpace` 에 있습니다. `pixel_bits` 는, 픽셀치의 비트수입니다. bits 배열은, 색성분 및 알파 성분마다의 유효 비트수를 지정합니다. 그 길이는, 픽셀치에 알파 정보가 없는 경우에는 `ColorSpace` 의 성분수, 알파 정보가 있는 경우에는 이 숫자에 1 을 가산합니다. `hasAlpha` 는, 알파 정보가 존재할지 어떨지를 나타냅니다. `boolean` 형의 `isAlphaPremultiplied` 는, 색정보 및 알파 정보가 다른 공간 밴드로서 나타내지는 픽셀치를 해석하는 방법을 지정합니다. `boolean` 형이 `true` 의 경우, 칼라 샘플은 알파 샘플로 곱셈된 것이라고 보여집니다. `transparency` 는, 이 칼라 모델로 표현할 수 있는 알파치를 지정합니다. 전송 타입은, 픽셀치를 표현하기 위해서 사용하는 프리미티브(primitive) 배열의 형태입니다. 비트 배열은, 픽셀치로부터의 변환 후의 색성분 및 알파 성분마다의 유효 비트수를 포함합니다. 예를 들어,`pixel_bits` 가 16 의 `IndexColorModel` 의 경우, 비트 배열은 각 요소가 8 으로 설정되어 있는 4 개의 요소를 가집니다.

  파라미터:
    `pixel_bits` - 픽셀치의 비트수
    `bits` - 색성분 및 알파 성분마다의 유효 비트수를 지정하는 배열
    `cspace` - 지정된 `ColorSpace`
    `hasAlpha` - 알파 정보가 존재하는 경우는 `true`, 그렇지 않은 경우는 `false`
    `isAlphaPremultiplied` - 칼라 샘플이 알파 샘플에 의해 미리 곱셈되고 있다고 보여지는 경우는 `true`, 그렇지 않은 경우는 `false`
    `transparency` - 이 칼라 모델로 나타낼 수가 있다 알파치
    `transferType` - 픽셀치의 표현에 사용되는 배열의 형
  예외:
    `IllegalArgumentException` - 비트 배열의 길이가 이 `ColorModel` 의 색성분 또는 알파 성분의 수보다 작은 경우, 또는 투명도가 유효한 값이 아닌 경우
    `IllegalArgumentException` - `bits` 의 비트수의 합계가 1 보다 작은 경우, 또는 `bits` 의 요소가 0 보다 작은 경우
  관련 항목:
    `Transparency`

메소드의 상세

### getRGBdefault

    public static ColorModel  getRGBdefault()

  프로그래머를 위해서(때문에), AWT 이미지 인터페이스가 많은 메소드로 사용되는 정수형 RGB 치의 디폴트 형식을 기술하는 `DirectColorModel` 를 돌려줍니다. 칼라 스페이스는, 디폴트 `ColorSpace` (sRGB)입니다. RGB 치의 형식은, 0xAARRGGBB 와 같이, 최상정도 바이트로부터 최하정도 바이트까지, 알파, 적, 록, 및 파랑의 각 성분을 이 순서에 늘어놓은, 각각 8 비트의 정수입니다. 색성분은, 알파 성분에 의해 미리 곱셈되지 않습니다. 이 형식은, 특정의 디바이스 또는 모든 이미지의 네이티브 또는 가장 효율적인 `ColorModel` 를 반드시 나타내지 않습니다. 공통의 칼라 모델 형식으로서 사용됩니다.

  반환값:
    디폴트의 RGB 치를 나타내는 `DirectColorModel` 객체

### hasAlpha

    public final boolean hasAlpha()

  알파가 이 `ColorModel` 로 지원되고 있는지 어떤지를 돌려줍니다.

  반환값:
    이 `ColorModel` 로 알파가 지원되고 있는 경우는 `true`, 그렇지 않은 경우는 `false`

### isAlphaPremultiplied

    public final boolean isAlphaPremultiplied()

  이 `ColorModel` 로 변환되는 픽셀치로 알파가 미리 곱셈되고 있는지 어떤지를 돌려줍니다. boolean 가 `true` 의 경우, 이 `ColorModel` 는 색정보 및 알파 정보가 다른 공간 밴드로서 나타내지는 픽셀치를 해석하기 위해서 사용되어 칼라 샘플은 알파 샘플에 의해 곱셈되었다고 보여집니다.

  반환값:
    이 `ColorModel` 로 변환되는 픽셀치로 알파치가 미리 곱셈되고 있는 경우는 `true`, 그렇지 않은 경우는 `false`

### getTransferType

    public final int getTransferType()

  이 `ColorModel` 의 전송형을 돌려줍니다. 전송형은, 픽셀치를 배열로서 나타내는데 사용되는 프리미티브(primitive) 배열의 형태입니다.

  반환값:
    전송형
  도입된 버젼:
    1.3

### getPixelSize

    public int getPixelSize()

  이 `ColorModel` 에 의해 기술되는 픽셀마다의 비트수를 돌려줍니다.

  반환값:
    픽셀마다의 비트수

### getComponentSize

    public int getComponentSize(int componentIdx)

  지정된 색성분 및 알파 성분의 비트수를 돌려줍니다. 색성분은,`ColorSpace` 로 지정된 순서로 인덱스를 붙일 수 있습니다. 일반적으로, 이 순서는 칼라 스페이스의 형태의 이름을 반영합니다. 예를 들어, TYPE_RGB 의 경우, 인덱스 0 은 빨강, 인덱스 1 은 초록, 인덱스 2 는 파랑에 대응합니다. 이 `ColorModel` 가 알파를 지원하는 경우, 알파 성분은 마지막에 지정된 색성분의 뒤의 인덱스에 대응합니다.

  파라미터:
    `componentIdx` - 색성분 및 알파 성분의 인덱스
  반환값:
    지정된 인덱스에 있는 색성분 및 알파 성분의 비트수
  예외:
    `ArrayIndexOutOfBoundsException` - `componentIdx` 가 성분의 수보다 큰지, 0 보다 작은 경우
    `NullPointerException` - 비트 배열의 수가 `null` 의 경우

### getComponentSize

    public int[] getComponentSize()

  색성분 및 알파 성분마다의 비트수의 배열을 돌려줍니다. 이 배열은,`ColorSpace` 로 지정된 순서로 색성분을 포함해, 알파 성분이 있는 경우는, 다음에 알파 성분이 계속됩니다.

  반환값:
    색성분 및 알파 성분마다의 비트수의 배열

### getTransparency

    public int getTransparency()

  투명도를 돌려줍니다. OPAQUE, BITMASK, TRANSLUCENT 의 어느쪽이든을 돌려줍니다.

  정의:
    인터페이스 `Transparency` 내의 `getTransparency`
  반환값:
    이 `ColorModel` 의 투명도
  관련 항목:
    `Transparency.OPAQUE` , `Transparency.BITMASK` , `Transparency.TRANSLUCENT`

### getNumComponents

    public int getNumComponents()

  이 `ColorModel` 의 성분 (알파를 포함한다)의 수를 돌려줍니다. 이것은, 색성분의 수 (알파 성분이 있는 경우는 1 을 가산)로 동일해집니다.

  반환값:
    이 `ColorModel` 의 성분수

### getNumColorComponents

    public int getNumColorComponents()

  이 `ColorModel` 의 색성분수를 돌려줍니다. 이것은,`ColorSpace.getNumComponents()` 에 의해 반환된 성분수입니다.

  반환값:
    이 `ColorModel` 의 색성분수
  관련 항목:
    `ColorSpace.getNumComponents()`

### getRed

    public abstract int getRed(int pixel)

  지정된 픽셀의 빨강의 색성분을, 디폴트의 RGB ColorSpace, 즉 sRGB 의 0 ~ 255 의 범위에서 슬캘링 해 돌려줍니다. 필요한 경우, 색변환을 합니다. 픽셀치는 int 로서 지정됩니다. 이 `ColorModel` 의 픽셀치가 단일의 int 로서 표현할 수 없는 경우는 `IllegalArgumentException` 가 throw 됩니다. 반환값은 미리 곱셈되어 있지 않은 값이 됩니다. 예를 들어, 알파가 미리 곱셈되고 있는 경우, 이 메소드는 값을 돌려주기 전에 그것을 제산합니다. 알파치가 0 의 경우, 빨강의 값은 0 이 됩니다.

  파라미터:
    `pixel` - 지정된 픽셀
  반환값:
    지정된 픽셀의 적색 성분의 값

### getGreen

    public abstract int getGreen(int pixel)

  지정된 픽셀의 초록의 색성분을, 디폴트의 RGB ColorSpace, 즉 sRGB 의 0 ~ 255 의 범위에서 슬캘링 해 돌려줍니다. 필요한 경우, 색변환을 합니다. 픽셀치는 int 로서 지정됩니다. 이 `ColorModel` 의 픽셀치가 단일의 int 로서 표현할 수 없는 경우는 `IllegalArgumentException` 가 throw 됩니다. 반환값은, 미리 곱셈되어 있지 않은 값이 됩니다. 예를 들어, 알파가 미리 곱셈되고 있는 경우, 이 메소드는 값을 돌려주기 전에 그것을 제산합니다. 알파치가 0 의 경우, 초록의 값은 0 이 됩니다.

  파라미터:
    `pixel` - 지정된 픽셀
  반환값:
    지정된 픽셀의 녹색 성분의 값

### getBlue

    public abstract int getBlue(int pixel)

  지정된 픽셀의 파랑의 색성분을, 디폴트의 RGB ColorSpace, 즉 sRGB 의 0 ~ 255 의 범위에서 슬캘링 해 돌려줍니다. 필요한 경우, 색변환을 합니다. 픽셀치는 int 로서 지정됩니다. 이 `ColorModel` 의 픽셀치가 단일의 int 로서 표현할 수 없는 경우는 `IllegalArgumentException` 가 throw 됩니다. 반환값은, 미리 곱셈되어 있지 않은 값이 됩니다. 예를 들어, 알파가 미리 곱셈되고 있는 경우, 이 메소드는 값을 돌려주기 전에 그것을 제산합니다. 알파치가 0 의 경우, 파랑의 값은 0 이 됩니다.

  파라미터:
    `pixel` - 지정된 픽셀
  반환값:
    지정된 픽셀의 청색 성분의 값

### getAlpha

    public abstract int getAlpha(int pixel)

  지정된 픽셀의 알파 성분을, 0 ~ 255 의 범위에서 슬캘링 해 돌려줍니다. 픽셀치는 int 로서 지정됩니다. 이 `ColorModel` 의 픽셀치가 단일의 int 로서 표현할 수 없는 경우는 `IllegalArgumentException` 가 throw 됩니다.

  파라미터:
    `pixel` - 지정된 픽셀
  반환값:
    지정된 픽셀의 알파 성분의 값

### getRGB

    public int getRGB(int pixel)

  픽셀의 색성분과 알파 성분을, 디폴트의 RGB 칼라 모델 형식에서 돌려줍니다. 필요한 경우, 색변환을 합니다. 픽셀치는 int 로서 지정됩니다. 이 `ColorModel` 의 픽셀치가 단일의 int 로서 표현할 수 없는 경우는 `IllegalArgumentException` 가 throw 됩니다. 반환값은, 미리 곱셈되어 있지 않은 형식이 됩니다. 예를 들어, 알파가 미리 곱셈되고 있는 경우, 이 메소드는 그것을 색성분으로 제산합니다. 알파치가 0 의 경우, 색의 값은 0 이 됩니다.

  파라미터:
    `pixel` - 지정된 픽셀
  반환값:
    지정된 픽셀의 색성분 및 알파 성분의 RGB 치
  관련 항목:
    `getRGBdefault()`

### getRed

    public int getRed(Object  inData)

  지정된 픽셀의 적색 성분을 디폴트 RGB `ColorSpace` (sRGB)의 0 ~ 255 의 범위에서 슬캘링 해 돌려줍니다. 필요한 경우, 색변환을 합니다. 픽셀치는, 객체 참조로서 건네받는 transferType 형의 데이터 요소의 배열에 의해 지정됩니다. 반환값은, 미리 곱셈되어 있지 않은 값이 됩니다. 예를 들어, 알파가 미리 곱셈되고 있는 경우, 이 메소드는 값을 돌려주기 전에 그것을 제산합니다. 알파치가 0 의 경우, 빨강의 값은 0 이 됩니다. `inData` 가 transferType 형의 프리미티브(primitive) 배열이 아닌 경우는,`ClassCastException` 가 throw 됩니다. `inData` 의 크기가 이 `ColorModel` 의 픽셀치를 보관 유지하는데 충분하지 않은 경우는,`ArrayIndexOutOfBoundsException` 가 throw 됩니다. 이 `transferType` 가 지원되어 있지 않은 경우는,`UnsupportedOperationException` 가 throw 됩니다. `ColorModel` 는 abstract 클래스이므로, 어느 인스턴스도 서브 클래스의 인스턴스가 아니면 안됩니다. 서브 클래스는 이 메소드의 구현을 상속합니다. 서브 클래스가 그 구현을 오버라이드(override) 하지 않는 경우, 서브 클래스가 `DataBuffer.TYPE_BYTE`,`DataBuffer.TYPE_USHORT`, 또는 `DataBuffer.TYPE_INT` 이외의 `transferType` 를 사용하면(자), 이 메소드는 예외를 throw 합니다.

  파라미터:
    `inData` - 픽셀치의 배열
  반환값:
    지정된 픽셀의 적색 성분의 값
  예외:
    `ClassCastException` - `inData` 가 `transferType` 형의 프리미티브(primitive) 배열이 아닌 경우
    `ArrayIndexOutOfBoundsException` - `inData` 가 이 `ColorModel` 의 픽셀치를 보관 유지하는데 충분한 크기가 아닌 경우
    `UnsupportedOperationException` - 이 `tranferType` 가 `이 ColorModel 로 지원되어 있지 않은 경우`

### getGreen

    public int getGreen(Object  inData)

  지정된 픽셀의 녹색 성분을 디폴트 RGB `ColorSpace` (sRGB)의 0 ~ 255 의 범위에서 슬캘링 해 돌려줍니다. 필요한 경우, 색변환을 합니다. 픽셀치는, 객체 참조로서 건네받는 transferType 형의 데이터 요소의 배열에 의해 지정됩니다. 반환값은, 미리 곱셈되어 있지 않은 값입니다. 예를 들어, 알파가 미리 곱셈되고 있는 경우, 이 메소드는 값을 돌려주기 전에 그것을 제산합니다. 알파치가 0 의 경우, 초록의 값은 0 이 됩니다. `inData` 가 transferType 형의 프리미티브(primitive) 배열이 아닌 경우는,`ClassCastException` 가 throw 됩니다. `inData` 의 크기가 이 `ColorModel` 의 픽셀치를 보관 유지하는데 충분하지 않은 경우는,`ArrayIndexOutOfBoundsException` 가 throw 됩니다. 이 `transferType` 가 지원되어 있지 않은 경우는,`UnsupportedOperationException` 가 throw 됩니다. `ColorModel` 는 abstract 클래스이므로, 어느 인스턴스도 서브 클래스의 인스턴스가 아니면 안됩니다. 서브 클래스는 이 메소드의 구현을 상속합니다. 서브 클래스가 그 구현을 오버라이드(override) 하지 않는 경우, 서브 클래스가 `DataBuffer.TYPE_BYTE`,`DataBuffer.TYPE_USHORT`, 또는 `DataBuffer.TYPE_INT` 이외의 `transferType` 를 사용하면(자), 이 메소드는 예외를 throw 합니다.

  파라미터:
    `inData` - 픽셀치의 배열
  반환값:
    지정된 픽셀의 녹색 성분의 값
  예외:
    ``ClassCastException`` - `inData` 가 `transferType` 형의 프리미티브(primitive) 배열이 아닌 경우
    ``ArrayIndexOutOfBoundsException`` - `inData` 가 이 `ColorModel` 의 픽셀치를 보관 유지하는데 충분한 크기가 아닌 경우
    ``UnsupportedOperationException`` - 이 `tranferType` 가 `이 ColorModel 로 지원되어 있지 않은 경우`

### getBlue

    public int getBlue(Object  inData)

  지정된 픽셀의 청색 성분을 디폴트 RGB `ColorSpace` (sRGB)의 0 ~ 255 의 범위에서 슬캘링 해 돌려줍니다. 필요한 경우, 색변환을 합니다. 픽셀치는, 객체 참조로서 건네받는 transferType 형의 데이터 요소의 배열에 의해 지정됩니다. 반환값은, 미리 곱셈되어 있지 않은 값이 됩니다. 예를 들어, 알파가 미리 곱셈되고 있는 경우, 이 메소드는 값을 돌려주기 전에 그것을 제산합니다. 알파치가 0 의 경우, 파랑의 값은 0 이 됩니다. `inData` 가 transferType 형의 프리미티브(primitive) 배열이 아닌 경우는,`ClassCastException` 가 throw 됩니다. `inData` 의 크기가 이 `ColorModel` 의 픽셀치를 보관 유지하는데 충분하지 않은 경우는,`ArrayIndexOutOfBoundsException` 가 throw 됩니다. 이 `transferType` 가 지원되어 있지 않은 경우는,`UnsupportedOperationException` 가 throw 됩니다. `ColorModel` 는 abstract 클래스이므로, 어느 인스턴스도 서브 클래스의 인스턴스가 아니면 안됩니다. 서브 클래스는 이 메소드의 구현을 상속합니다. 서브 클래스가 그 구현을 오버라이드(override) 하지 않는 경우, 서브 클래스가 `DataBuffer.TYPE_BYTE`,`DataBuffer.TYPE_USHORT`, 또는 `DataBuffer.TYPE_INT` 이외의 `transferType` 를 사용하면(자), 이 메소드는 예외를 throw 합니다.

  파라미터:
    `inData` - 픽셀치의 배열
  반환값:
    지정된 픽셀의 청색 성분의 값
  예외:
    `ClassCastException` - `inData` 가 `transferType` 형의 프리미티브(primitive) 배열이 아닌 경우
    `ArrayIndexOutOfBoundsException` - `inData` 가 이 `ColorModel` 의 픽셀치를 보관 유지하는데 충분한 크기가 아닌 경우
    `UnsupportedOperationException` - 이 `tranferType` 가 `이 ColorModel 로 지원되어 있지 않은 경우`

### getAlpha

    public int getAlpha(Object  inData)

  지정된 픽셀의 알파 성분을 0 ~ 255 의 범위에서 슬캘링 해 돌려줍니다. 픽셀치는, 객체 참조로서 건네받은 transferType 형의 데이터 요소의 배열로 지정됩니다. inData 가 transferType 형의 프리미티브(primitive) 배열이 아닌 경우는,`ClassCastException` 가 throw 됩니다. `inData` 의 크기가 이 `ColorModel` 의 픽셀치를 보관 유지하는데 충분하지 않은 경우는,`ArrayIndexOutOfBoundsException` 가 throw 됩니다. 이 `transferType` 가 지원되어 있지 않은 경우는,`UnsupportedOperationException` 가 throw 됩니다. `ColorModel` 는 abstract 클래스이므로, 어느 인스턴스도 서브 클래스의 인스턴스가 아니면 안됩니다. 서브 클래스는 이 메소드의 구현을 상속합니다. 서브 클래스가 그 구현을 오버라이드(override) 하지 않는 경우, 서브 클래스가 `DataBuffer.TYPE_BYTE`,`DataBuffer.TYPE_USHORT`, 또는 `DataBuffer.TYPE_INT` 이외의 `transferType` 를 사용하면(자), 이 메소드는 예외를 throw 합니다.

  파라미터:
    `inData` - 지정된 픽셀
  반환값:
    0 ~ 255 의 범위에서 슬캘링 된, 지정된 픽셀의 알파 성분
  예외:
    `ClassCastException` - `inData` 가 `transferType` 형의 프리미티브(primitive) 배열이 아닌 경우
    `ArrayIndexOutOfBoundsException` - `inData` 가 이 `ColorModel` 의 픽셀치를 보관 유지하는데 충분한 크기가 아닌 경우
    `UnsupportedOperationException` - 이 `tranferType` 가 `이 ColorModel 로 지원되어 있지 않은 경우`

### getRGB

    public int getRGB(Object  inData)

  지정된 픽셀의 색성분 및 알파 성분을 디폴트 RGB 칼라 모델 형식에서 돌려줍니다. 필요한 경우, 색변환을 합니다. 픽셀치는, 객체 참조로서 건네받는 transferType 형의 데이터 요소의 배열에 의해 지정됩니다. inData 가 transferType 형의 프리미티브(primitive) 배열이 아닌 경우는,`ClassCastException` 가 throw 됩니다. `inData` 의 크기가 이 `ColorModel` 의 픽셀치를 보관 유지하는데 충분하지 않은 경우는,`ArrayIndexOutOfBoundsException` 가 throw 됩니다. 반환값은, 미리 곱셈되어 있지 않은 값입니다. 즉, 알파가 미리 곱셈되고 있는 경우, 이 메소드는 색성분으로 그것을 제산합니다. 알파치가 0 의 경우, 색의 값은 0 이 됩니다.

  파라미터:
    `inData` - 지정된 픽셀
  반환값:
    지정된 픽셀의 색성분 및 알파 성분
  관련 항목:
    `getRGBdefault()`

### getDataElements

    public Object  getDataElements(int rgb,
                                  Object  pixel)

  디폴트 RGB 칼라 모델의 정수형 픽셀 표현을 지정해, 이 `ColorModel` 의 픽셀의 데이터 요소 배열 표현을 돌려줍니다. 이 배열은,`WritableRaster` 객체의 `WritableRaster.setDataElements(int, int, java.lang.Object)` 메소드에 건네줄 수가 있습니다. pixel 변수가 `null` 의 경우는, 새로운 배열을 할당할 수 있습니다. `pixel` 가 `null` 가 아닌 경우는,`transferType` 형의 프리미티브(primitive) 배열일 필요가 있습니다. 그렇지 않은 경우는,`ClassCastException` 가 throw 됩니다. `pixel` 가 이 `ColorModel` 의 픽셀치를 포함할 수 있을 만큼 크지 않은 경우는,`ArrayIndexOutOfBoundsException` 가 throw 됩니다. 픽셀 배열이 돌려주어집니다. 이 `transferType` 가 지원되어 있지 않은 경우는,`UnsupportedOperationException` 가 throw 됩니다. `ColorModel` 는 abstract 클래스이므로, 어느 인스턴스도 서브 클래스의 인스턴스가 됩니다. 이 abstract 클래스의 구현은 `UnsupportedOperationException` 를 throw 하므로, 서브 클래스는 이 메소드를 오버라이드(override) 할 필요가 있습니다.

  파라미터:
    `rgb` - 디폴트 RGB 칼라 모델의 정수형 픽셀 표현
    `pixel` - 지정된 픽셀
  반환값:
    이 `ColorModel` 의 지정된 픽셀의 배열 표현
  예외:
    `ClassCastException` - `pixel` 가 `transferType` 형의 프리미티브(primitive) 배열이 아닌 경우
    `ArrayIndexOutOfBoundsException` - `pixel` 가 이 `ColorModel` 의 픽셀치를 보관 유지하는데 충분한 크기가 아닌 경우
    `UnsupportedOperationException` - 이 `ColorModel` 로 이 메소드가 지원되어 있지 않은 경우
  관련 항목:
    `WritableRaster.setDataElements(int, int, java.lang.Object)` , `SampleModel.setDataElements(int, int, java.lang.Object, java.awt.image.DataBuffer)`

### getComponents

    public int[] getComponents(int pixel,
                               int[] components,
                               int offset)

  이 `ColorModel` 로 픽셀을 지정해, 표준화되어 있지 않은 색성분과 알파 성분의 배열을 돌려줍니다. 픽셀치는 `int` 로서 지정됩니다. 이 `ColorModel` 의 픽셀치가 단일의 `int` 로서 표현할 수 없는 경우, 또는 이 `ColorModel` 의 색성분치가 비표준화 형식에서 표현할 수 없는 경우는,`IllegalArgumentException` 가 throw 됩니다. 예를 들어, 이 메소드는,`DirectColorModel` 의 특정의 픽셀치의 성분을 꺼내기 위해서(때문에) 사용할 수 있습니다. components 배열이 `null` 의 경우는, 새로운 배열을 할당할 수 있습니다. components 배열이 돌려주어집니다. 색성분 및 알파 성분은,`offset` 를 기점으로 components 배열에 포함됩니다. 배열이 이 메소드로 할당할 수 있고 있는 경우도 같습니다. components 배열이 `null` 가 아닌 경우에, (offset 를 기점으로) 모든 색성분 및 알파 성분을 보관 유지하는데 충분한 크기가 아닐 때는,`ArrayIndexOutOfBoundsException` 가 throw 됩니다. `ColorModel` 는 abstract 클래스이므로, 어느 인스턴스도 서브 클래스의 인스턴스가 됩니다. 이 abstract 클래스의 구현은 `UnsupportedOperationException` 를 throw 하므로, 서브 클래스는 이 메소드를 오버라이드(override) 할 필요가 있습니다.

  파라미터:
    `pixel` - 지정된 픽셀
    `components` - 지정된 픽셀의 색성분 및 알파 성분을 받는 배열
    `offset` - 색성분 및 알파 성분의 포함을 개시하는, `components` 배열에의 오프셋(offset)
  반환값:
    지정된 오프셋(offset) 이후에, 지정된 픽셀의 색성분 및 알파 성분이 포함되고 있는 배열
  예외:
    `UnsupportedOperationException` - 이 `ColorModel` 로 이 메소드가 지원되어 있지 않은 경우

### getComponents

    public int[] getComponents(Object  pixel,
                               int[] components,
                               int offset)

  이 `ColorModel` 로 픽셀을 지정해, 표준화되어 있지 않은 색성분과 알파 성분의 배열을 돌려줍니다. 픽셀치는, 객체 참조로서 건네받는 transferType 형의 데이터 요소의 배열에 의해 지정됩니다. `pixel` 가 transferType 형의 프리미티브(primitive) 배열이 아닌 경우는,`ClassCastException` 가 throw 됩니다. 이 `ColorModel` 의 색성분치가 비표준화 형식에서 표현할 수 없는 경우는,`IllegalArgumentException` 가 throw 됩니다. `pixel` 가 이 `ColorModel` 의 픽셀치를 포함할 수 있을 만큼 크지 않은 경우는,`ArrayIndexOutOfBoundsException` 가 throw 됩니다. 이 메소드는, 임의의 `ColorModel` 의 특정의 픽셀치의 성분을 꺼내기 위해서(때문에) 사용할 수 있습니다. components 배열이 `null` 의 경우는, 새로운 배열을 할당할 수 있습니다. components 배열이 돌려주어집니다. 색성분 및 알파 성분은,`offset` 를 기점으로 `components` 배열에 포함됩니다. 배열이 이 메소드로 할당할 수 있고 있는 경우도 같습니다. components 배열이 `null` 가 아닌 경우에, (`offset` 를 기점으로) 모든 색성분 및 알파 성분을 보관 유지하는데 충분한 크기가 아닐 때는,`ArrayIndexOutOfBoundsException` 가 throw 됩니다. `ColorModel` 는 abstract 클래스이므로, 어느 인스턴스도 서브 클래스의 인스턴스가 됩니다. 이 abstract 클래스의 구현은 `UnsupportedOperationException` 를 throw 하므로, 서브 클래스는 이 메소드를 오버라이드(override) 할 필요가 있습니다.

  파라미터:
    `pixel` - 지정된 픽셀
    `components` - 지정된 픽셀의 색성분 및 알파 성분을 받는 배열
    `offset` - 지정된 픽셀의 색성분 및 알파 성분의 포함을 개시하는,`components` 배열에의 인덱스
  반환값:
    지정된 오프셋(offset) 이후에, 지정된 픽셀의 색성분 및 알파 성분이 포함되고 있는 배열
  예외:
    `UnsupportedOperationException` - 이 `ColorModel` 로 이 메소드가 지원되어 있지 않은 경우

### getUnnormalizedComponents

    public int[] getUnnormalizedComponents(float[] normComponents,
                                           int normOffset,
                                           int[] components,
                                           int offset)

  표준화 성분 배열을 지정해, 비표준화 형식에서 모든 색성분 및 알파 성분의 배열을 돌려줍니다. 비표준화 성분은, 0 으로 2n - 1 의 사이의 부호 없음 정수치입니다. n 는, 특정의 성분의 비트수입니다. 표준화 성분은, 이 `ColorModel` 의 `ColorSpace` 객체에 의해 지정된 성분마다의 최소와 최대의 사이의 float 치입니다. 이 `ColorModel` 의 색성분치가 비표준화 형식에서 표현할 수 없는 경우는,`IllegalArgumentException` 가 throw 됩니다. `components` 배열이 `null` 의 경우는, 새로운 배열을 할당할 수 있습니다. `components` 배열이 돌려주어집니다. 색성분 및 알파 성분은,`offset` 를 기점으로 `components` 배열에 포함됩니다. 배열이 이 메소드로 할당할 수 있고 있는 경우도 같습니다. `components` 배열이 `null` 가 아닌 경우에, (`offset` 를 기점으로) 모든 색성분 및 알파 성분을 포함하는데 충분한 크기가 아닐 때는,`ArrayIndexOutOfBoundsException` 가 throw 됩니다. `normComponents` 배열이 `normOffset` 를 기점으로 모든 색성분 및 알파 성분을 포함하는데 충분한 크기가 아닌 경우는,`IllegalArgumentException` 가 throw 됩니다.

  파라미터:
    `normComponents` - 표준화 성분을 포함하고 있는 배열
    `normOffset` - 표준화 성분의 취득을 개시하는, `normComponents` 배열에의 오프셋(offset)
    `components` - `normComponents` 로부터 성분을 받는다 배열
    `offset` - `normComponents` 로부터 표준화 성분의 포함을 개시하는, `components` 의 인덱스
  반환값:
    표준화되어 있지 않은 색성분 및 알파 성분이 포함되고 있는 배열
  예외:
    `IllegalArgumentException` - 이 `ColorModel` 의 성분치가 비표준화 형식에서 표현할 수 없는 경우
    `IllegalArgumentException` - `normComponents` 로부터 `normOffset` 를 당긴 길이가 `numComponents` 보다 짧은 경우
    `UnsupportedOperationException` - 이 `ColorModel` 의 생성자 이 `super(bits)` 생성자 을 호출해, 한편 이 메소드를 오버라이드(override) 하지 않았던 경우. 생성자 `ColorModel(int)` 를 참조

### getNormalizedComponents

    public float[] getNormalizedComponents(int[] components,
                                           int offset,
                                           float[] normComponents,
                                           int normOffset)

  표준화 성분 배열을 지정해, 비표준화 형식에서 모든 색성분 및 알파 성분의 배열을 돌려줍니다. 비표준화 성분은, 0 으로 2n - 1 의 사이의 부호 없음 정수치입니다. n 는, 특정의 성분의 비트수입니다. 표준화 성분은, 이 `ColorModel` 의 `ColorSpace` 객체에 의해 지정된 성분마다의 최소와 최대의 사이의 float 치입니다. 이 `ColorModel` 의 색성분치가 비표준화 형식에서 표현할 수 없는 경우는,`IllegalArgumentException` 가 throw 됩니다. `normComponents` 배열이 `null` 의 경우는, 새로운 배열을 할당할 수 있습니다. 그 `normComponents` 배열이 돌려주어집니다. 색성분과 알파 성분은,`normOffset` 로부터 시작되는 `normComponents` 배열에 포함됩니다. 이것은, 배열이 이 메소드로 할당할 수 있고 있는 경우도 같습니다. `normComponents` 배열이 `null` 가 아니고, 색성분과 알파 성분 (`normOffset` 로부터 시작된다)의 모든 것을 포함할 수 있을 만큼 크지 않은 경우는,`ArrayIndexOutOfBoundsException` 가 throw 됩니다. `normComponents` 배열이 `normOffset` 를 기점으로 모든 색성분 및 알파 성분을 포함하는데 충분한 크기가 아닌 경우는,`IllegalArgumentException` 가 throw 됩니다.

  `ColorModel` 는 abstract 클래스이므로, 어느 인스턴스도 서브 클래스의 인스턴스가 됩니다. 이 abstract 클래스에서의, 이 메소드의 디폴트의 구현은, 이 클래스의 성분치가 비표준화 형식에서 표현된다고 봅니다. 따라서, 비표준화 형식을 지원하지 않는 인스턴스를 가지는 서브 클래스는, 이 메소드를 오버라이드(override) 할 필요가 있습니다.

  파라미터:
    `components` - 표준화되어 있지 않은 성분을 포함하고 있는 배열
    `offset` - 표준화되어 있지 않은 성분의 취득을 개시하는, `components` 배열에의 오프셋(offset)
    `normComponents` - 표준화 성분을 받는 배열
    `normOffset` - 표준화 성분의 포함을 개시하는, `normComponents` 의 인덱스
  반환값:
    표준화 된 색성분 및 알파 성분이 포함되고 있는 배열
  예외:
    `IllegalArgumentException` - 이 `ColorModel` 의 성분치가 비표준화 형식에서 표현할 수 없는 경우
    `UnsupportedOperationException` - 이 `ColorModel` 의 생성자 이 `super(bits)` 생성자 을 호출해, 한편 이 메소드를 오버라이드(override) 하지 않았던 경우. 생성자 `ColorModel(int)` 를 참조
    `UnsupportedOperationException` - 이 메소드가 성분마다의 비트수를 판정할 수 없었던 경우

### getDataElement

    public int getDataElement(int[] components,
                              int offset)

  표준화되어 있지 않은 색성분과 알파 성분의 배열을 지정해, 이 `ColorModel` 의 `int` 로서 표현되는 픽셀치를 돌려줍니다. 이 `ColorModel` 의 성분치가 단일의 `int` 로서 표현할 수 없는 경우, 또는 이 `ColorModel` 의 색성분치가 비표준화 형식에서 표현할 수 없는 경우는, 이 메소드는 `IllegalArgumentException` 를 throw 합니다. `components` 배열이 (`offset` 를 기점으로) 모든 색성분 및 알파 성분을 보관 유지하는데 충분한 크기가 아닌 경우는,`ArrayIndexOutOfBoundsException` 가 throw 됩니다. `ColorModel` 는 abstract 클래스이므로, 어느 인스턴스도 서브 클래스의 인스턴스가 됩니다. 이 abstract 클래스의 구현은 `UnsupportedOperationException` 를 throw 하므로, 서브 클래스는 이 메소드를 오버라이드(override) 할 필요가 있습니다.

  파라미터:
    `components` - 표준화되어 있지 않은 색성분 및 알파 성분의 배열
    `offset` - 색성분 및 알파 성분의 취득을 개시하는, `components` 의 인덱스
  반환값:
    지정된 성분에 대응하는, 이 `ColorModel` 내의 `int` 픽셀치
  예외:
    `IllegalArgumentException` - 이 `ColorModel` 의 픽셀치가 단일의 `int` 로서 표현할 수 없는 경우
    `IllegalArgumentException` - 이 `ColorModel` 의 성분치가 비표준화 형식에서 표현할 수 없는 경우
    `ArrayIndexOutOfBoundsException` - `components` 배열이, `offset` 를 기점으로 모든 색성분 및 알파 성분을 포함하는데 충분한 크기가 아닌 경우
    `UnsupportedOperationException` - 이 `ColorModel` 로 이 메소드가 지원되어 있지 않은 경우

### getDataElements

    public Object  getDataElements(int[] components,
                                  int offset,
                                  Object  obj)

  표준화되어 있지 않은 색성분 및 알파 성분의 배열을 지정해, 이 `ColorModel` 의 픽셀의 데이터 요소 배열 표현을 돌려줍니다. 이 배열은,`WritableRaster` 객체의 `setDataElements` 메소드에 건네줄 수가 있습니다. 이 `ColorModel` 의 색성분치가 비표준화 형식에서 표현할 수 없는 경우, 이 메소드는 `IllegalArgumentException` 를 throw 합니다. `components` 배열이 (`offset` 를 기점으로) 모든 색성분 및 알파 성분을 보관 유지하는데 충분한 크기가 아닌 경우는,`ArrayIndexOutOfBoundsException` 가 throw 됩니다. `obj` 변수가 `null` 의 경우는, 새로운 배열을 할당할 수 있습니다. `obj` 가 `null` 가 아닌 경우는, transferType 형의 프리미티브(primitive) 배열일 필요가 있습니다. 그렇지 않은 경우는,`ClassCastException` 가 throw 됩니다. `obj` 가 이 `ColorModel` 의 픽셀치를 보관 유지하는데 충분한 크기가 아닌 경우는,`ArrayIndexOutOfBoundsException` 가 throw 됩니다. `ColorModel` 는 abstract 클래스이므로, 어느 인스턴스도 서브 클래스의 인스턴스가 됩니다. 이 abstract 클래스의 구현은 `UnsupportedOperationException` 를 throw 하므로, 서브 클래스는 이 메소드를 오버라이드(override) 할 필요가 있습니다.

  파라미터:
    `components` - 표준화되어 있지 않은 색성분 및 알파 성분의 배열
    `offset` - 색성분 및 알파 성분의 취득을 개시하는, `components` 의 인덱스
    `obj` - 색성분 및 알파 성분의 배열을 나타낸다 `Object`
  반환값:
    색성분 및 알파 성분의 배열을 나타낸다 `Object`
  예외:
    `ClassCastException` - `obj` 가 `transferType` 형의 프리미티브(primitive) 배열이 아닌 경우
    `ArrayIndexOutOfBoundsException` - `obj` 가 이 `ColorModel` 의 픽셀치를 포함하는데 충분한 크기가 아닌 경우, 또는 `components` 배열이 `offset` 를 기점으로 모든 색성분 및 알파 성분을 포함하는데 충분한 크기가 아닌 경우
    `IllegalArgumentException` - 이 `ColorModel` 의 성분치가 비표준화 형식에서 표현할 수 없는 경우
    `UnsupportedOperationException` - 이 `ColorModel` 로 이 메소드가 지원되어 있지 않은 경우
  관련 항목:
    `WritableRaster.setDataElements(int, int, java.lang.Object)` , `SampleModel.setDataElements(int, int, java.lang.Object, java.awt.image.DataBuffer)`

### getDataElement

    public int getDataElement(float[] normComponents,
                              int normOffset)

  표준화되어 있지 않은 색성분 및 알파 성분의 배열을 지정해, 이 `ColorModel` 에 `int` 로서 나타내지는 픽셀치를 돌려줍니다. 이 `ColorModel` 의 픽셀치가 단일의 `int` 로서 표현할 수 없는 경우, 이 메소드는 `IllegalArgumentException` 를 throw 합니다. `normComponents` 배열이 (`normOffset` 를 기점으로) 모든 색성분 및 알파 성분을 포함하는데 충분한 크기가 아닌 경우는,`ArrayIndexOutOfBoundsException` 가 throw 됩니다. `ColorModel` 는 abstract 클래스이므로, 어느 인스턴스도 서브 클래스의 인스턴스가 됩니다. 이 abstract 클래스에서의, 이 메소드의 디폴트의 구현은, 표준화 형식을 비표준화 형식으로 변환하고 나서 `getDataElement(int[], int)` 를 호출합니다. 비표준화 형식을 지원하지 않는 인스턴스를 가지는 서브 클래스는, 이 메소드를 오버라이드(override) 할 필요가 있습니다.

  파라미터:
    `normComponents` - 표준화 된 색성분 및 알파 성분의 배열
    `normOffset` - 색성분 및 알파 성분의 취득을 개시하는, `normComponents` 의 인덱스
  반환값:
    지정된 성분에 대응하는, 이 `ColorModel` 내의 `int` 픽셀치
  예외:
    `IllegalArgumentException` - 이 `ColorModel` 의 픽셀치가 단일의 `int` 로서 표현할 수 없는 경우
    `ArrayIndexOutOfBoundsException` - `normComponents` 배열이, `normOffset` 를 기점으로 모든 색성분 및 알파 성분을 포함하는데 충분한 크기가 아닌 경우
  도입된 버젼:
    1.4

### getDataElements

    public Object  getDataElements(float[] normComponents,
                                  int normOffset,
                                  Object  obj)

  표준화색성분 및 알파 성분의 배열을 지정해, 이 `ColorModel` 의 픽셀의 데이터 요소 배열 표현을 돌려줍니다. 이 배열은,`WritableRaster` 객체의 `setDataElements` 메소드에 건네줄 수가 있습니다. `normComponents` 배열이 (`normOffset` 를 기점으로) 모든 색성분 및 알파 성분을 포함하는데 충분한 크기가 아닌 경우는,`ArrayIndexOutOfBoundsException` 가 throw 됩니다. `obj` 변수가 `null` 의 경우는, 새로운 배열을 할당할 수 있습니다. `obj` 가 `null` 가 아닌 경우는, transferType 형의 프리미티브(primitive) 배열일 필요가 있습니다. 그렇지 않은 경우는,`ClassCastException` 가 throw 됩니다. `obj` 가 이 `ColorModel` 의 픽셀치를 보관 유지하는데 충분한 크기가 아닌 경우는,`ArrayIndexOutOfBoundsException` 가 throw 됩니다. `ColorModel` 는 abstract 클래스이므로, 어느 인스턴스도 서브 클래스의 인스턴스가 됩니다. 이 abstract 클래스에서의, 이 메소드의 디폴트의 구현은, 표준화 형식을 비표준화 형식으로 변환하고 나서 `getDataElement(int[], int, Object)` 를 호출합니다. 비표준화 형식을 지원하지 않는 인스턴스를 가지는 서브 클래스는, 이 메소드를 오버라이드(override) 할 필요가 있습니다.

  파라미터:
    `normComponents` - 표준화 된 색성분 및 알파 성분의 배열
    `normOffset` - 색성분 및 알파 성분의 취득을 개시하는, `normComponents` 의 인덱스
    `obj` - 반환된 픽셀을 보관 유지하는 프리미티브(primitive) 데이터 배열
  반환값:
    픽셀의 프리미티브(primitive) 데이터 배열 표현의 `Object`
  예외:
    `ClassCastException` - `obj` 가 `transferType` 형의 프리미티브(primitive) 배열이 아닌 경우
    `ArrayIndexOutOfBoundsException` - `obj` 가 이 `ColorModel` 의 픽셀치를 포함하는데 충분한 크기가 아닌 경우, 또는 `normComponents` 배열이 `normOffset` 를 기점으로 모든 색성분 및 알파 성분을 포함하는데 충분한 크기가 아닌 경우
  도입된 버젼:
    1.4
  관련 항목:
    `WritableRaster.setDataElements(int, int, java.lang.Object)` , `SampleModel.setDataElements(int, int, java.lang.Object, java.awt.image.DataBuffer)`

### getNormalizedComponents

    public float[] getNormalizedComponents(Object  pixel,
                                           float[] normComponents,
                                           int normOffset)

  이 `ColorModel` 의 지정된 픽셀에 대해, 표준화 형식에서 색성분과 알파 성분의 배열을 돌려줍니다. 픽셀치는, 객체 참조로서 건네받는 transferType 형의 데이터 요소의 배열에 의해 지정됩니다. pixel 가 transferType 형의 프리미티브(primitive) 배열이 아닌 경우는,`ClassCastException` 가 throw 됩니다. `pixel` 가 이 `ColorModel` 의 픽셀치를 포함할 수 있을 만큼 크지 않은 경우는,`ArrayIndexOutOfBoundsException` 가 throw 됩니다. 표준화 성분은, 이 `ColorModel` 의 `ColorSpace` 객체에 의해 지정된 성분마다의 최소와 최대의 사이의 float 치입니다. `normComponents` 배열이 `null` 의 경우는, 새로운 배열을 할당할 수 있습니다. 그 `normComponents` 배열이 돌려주어집니다. 색성분과 알파 성분은,`normOffset` 로부터 시작되는 `normComponents` 배열에 포함됩니다. 이것은, 배열이 이 메소드로 할당할 수 있고 있는 경우도 같습니다. `normComponents` 배열이 `null` 가 아니고, 색성분과 알파 성분 (`normOffset` 로부터 시작된다)의 모든 것을 포함할 수 있을 만큼 크지 않은 경우는,`ArrayIndexOutOfBoundsException` 가 throw 됩니다. `ColorModel` 는 abstract 클래스이므로, 어느 인스턴스도 서브 클래스의 인스턴스가 됩니다. 이 abstract 클래스에서의, 이 메소드의 디폴트의 구현은,`getComponents(Object, int[], int)` 를 사용해 비표준화 형식에서 색성분과 알파 성분을 꺼내고 나서 `getNormalizedComponents(int[], int, float[], int)` 를 호출합니다. 비표준화 형식을 지원하지 않는 인스턴스를 가지는 서브 클래스는, 이 메소드를 오버라이드(override) 할 필요가 있습니다.

  파라미터:
    `pixel` - 지정된 픽셀
    `normComponents` - 표준화 성분을 받는 배열
    `normOffset` - 표준화 성분의 포함을 개시하는, `normComponents` 배열에의 오프셋(offset)
  반환값:
    표준화 된 색성분 및 알파 성분이 포함되고 있는 배열
  예외:
    `ClassCastException` - `pixel` 가 transferType 형의 프리미티브(primitive) 배열이 아닌 경우
    `ArrayIndexOutOfBoundsException` - `normComponents` 가,`normOffset` 를 기점으로 모든 색성분 및 알파 성분을 포함하는데 충분한 크기가 아닌 경우
    `ArrayIndexOutOfBoundsException` - `pixel` 가 이 `ColorModel` 의 픽셀치를 보관 유지하는데 충분한 크기가 아닌 경우
    `UnsupportedOperationException` - 이 `ColorModel` 의 생성자 이 `super(bits)` 생성자 을 호출해, 한편 이 메소드를 오버라이드(override) 하지 않았던 경우. 생성자 `ColorModel(int)` 를 참조
    `UnsupportedOperationException` - 이 메소드가 성분마다의 비트수를 판정할 수 없었던 경우
  도입된 버젼:
    1.4

### equals

    public boolean equals(Object  obj)

  지정된 `Object` 가 `ColorModel` 의 인스턴스이며, 이 `ColorModel` 와 동일한지 어떤지를 판정합니다.

  오버라이드(override):
    클래스 `Object` 내의 `equals`
  파라미터:
    `obj` - 동일한지 어떤지가 판정되는 `Object`
  반환값:
    지정된 `Object` 가 `ColorModel` 의 인스턴스로, 한편 이 `ColorModel` 와 동일한 경우는 `true`, 그렇지 않은 경우는 `false`
  관련 항목:
    `Object.hashCode()` , `Hashtable`

### hashCode

    public int hashCode()

  이 ColorModel 의 해시 코드를 돌려줍니다.

  오버라이드(override):
    클래스 `Object` 내의 `hashCode`
  반환값:
    이 ColorModel 의 해시 코드
  관련 항목:
    `Object.equals(java.lang.Object)` , `Hashtable`

### getColorSpace

    public final ColorSpace  getColorSpace()

  이 `ColorModel` 에 관련한 `ColorSpace` 를 돌려줍니다.

  반환값:
    이 `ColorModel` 의 `ColorSpace`

### coerceData

    public ColorModel  coerceData(WritableRaster  raster,
                                 boolean isAlphaPremultiplied)

  라스터 데이터가 `isAlphaPremultiplied` 변수로 지정된 상태와 일치하도록(듯이) 합니다. 이 때, 데이터는 이 `ColorModel` 에 의해 현재 올바르게 기술되고 있다고 보여집니다. 이 메소드는, 칼라 라스터 데이터를 알파에서 곱셈 또는 제산합니다. 데이터가 올바른 상태에 있는 경우에는, 처리는 실시하지 않습니다. 데이터를 강제적으로 형태 변환할 필요가 있는 경우, 이 메소드는 `isAlphaPremultiplied` 플래그를 올바르게 설정한, 이 `ColorModel` 의 인스턴스도 돌려줍니다. 이 `ColorModel` 에 의해 지원되어 있지 않은 경우, 이 메소드는 `UnsupportedOperationException` 를 throw 합니다. `ColorModel` 는 abstract 클래스이므로, 어느 인스턴스도 서브 클래스의 인스턴스가 됩니다. 이 abstract 클래스의 구현은 `UnsupportedOperationException` 를 throw 하므로, 서브 클래스는 이 메소드를 오버라이드(override) 할 필요가 있습니다.

  파라미터:
    `raster` - `WritableRaster` 데이터
    `isAlphaPremultiplied` - 알파가 미리 곱셈되고 있는 경우는 `true`, 그렇지 않은 경우는 `false`
  반환값:
    강제적으로 형태 변환된 데이터를 나타낸다 `ColorModel` 객체

### isCompatibleRaster

    public boolean isCompatibleRaster(Raster  raster)

  `raster` 가 이 `ColorModel` 와 호환성이 있는 경우에는 `true` 를 돌려주어, 그렇지 않은 경우에는 `false` 를 돌려줍니다. `ColorModel` 는 abstract 클래스이므로, 어느 인스턴스도 서브 클래스의 인스턴스가 됩니다. 이 abstract 클래스의 구현은 `UnsupportedOperationException` 를 throw 하므로, 서브 클래스는 이 메소드를 오버라이드(override) 할 필요가 있습니다.

  파라미터:
    `raster` - 호환성을 판정하는 `Raster` 객체
  반환값:
    `raster` 가 이 `ColorModel` 와 호환성이 있는 경우는 `true`
  예외:
    `UnsupportedOperationException` - 이 `ColorModel` 로 이 메소드가 구현되어 있지 않은 경우

### createCompatibleWritableRaster

    public WritableRaster  createCompatibleWritableRaster(int w,
                                                         int h)

  이 `ColorModel` 와 호환성이 있는 데이터 레이아웃 (`SampleModel`)을 가지는, 지정된 폭과 높이의 `WritableRaster` 를 생성합니다. `ColorModel` 는 abstract 클래스이므로, 어느 인스턴스도 서브 클래스의 인스턴스가 됩니다. 이 abstract 클래스의 구현은 `UnsupportedOperationException` 를 throw 하므로, 서브 클래스는 이 메소드를 오버라이드(override) 할 필요가 있습니다.

  파라미터:
    `w` - 새로운 `WritableRaster` 에 적용되는 폭
    `h` - 새로운 `WritableRaster` 에 적용되는 높이
  반환값:
    지정된 폭과 높이를 가지는 `WritableRaster` 객체
  예외:
    `UnsupportedOperationException` - 이 `ColorModel` 로 이 메소드가 지원되어 있지 않은 경우
  관련 항목:
    `WritableRaster` , `SampleModel`

### createCompatibleSampleModel

    public SampleModel  createCompatibleSampleModel(int w,
                                                   int h)

  이 `ColorModel` 와 호환성이 있는 데이터 레이아웃을 가지는, 지정된 폭과 높이의 `SampleModel` 를 작성합니다. `ColorModel` 는 abstract 클래스이므로, 어느 인스턴스도 서브 클래스의 인스턴스가 됩니다. 이 abstract 클래스의 구현은 `UnsupportedOperationException` 를 throw 하므로, 서브 클래스는 이 메소드를 오버라이드(override) 할 필요가 있습니다.

  파라미터:
    `w` - 새로운 `SampleModel` 에 적용되는 폭
    `h` - 새로운 `SampleModel` 에 적용되는 높이
  반환값:
    지정된 폭과 높이를 가지는 `SampleModel` 객체
  예외:
    `UnsupportedOperationException` - 이 `ColorModel` 로 이 메소드가 지원되어 있지 않은 경우
  관련 항목:
    `SampleModel`

### isCompatibleSampleModel

    public boolean isCompatibleSampleModel(SampleModel  sm)

  `SampleModel` 가 이 `ColorModel` 와 호환성이 있을지 어떨지를 판정합니다. `ColorModel` 는 abstract 클래스이므로, 어느 인스턴스도 서브 클래스의 인스턴스가 됩니다. 이 abstract 클래스의 구현은 `UnsupportedOperationException` 를 throw 하므로, 서브 클래스는 이 메소드를 오버라이드(override) 할 필요가 있습니다.

  파라미터:
    `sm` - 지정된 `SampleModel`
  반환값:
    지정된 `SampleModel` 가 이 `ColorModel` 와 호환성이 있는 경우는 `true`, 그렇지 않은 경우는 `false`
  예외:
    `UnsupportedOperationException` - 이 `ColorModel` 로 이 메소드가 지원되어 있지 않은 경우
  관련 항목:
    `SampleModel`

### finalize

    public void finalize()

  이 `ColorModel` 가 참조되지 않게 되었을 때에, 관련한 system resource를 파기합니다.

  오버라이드(override):
    클래스 `Object` 내의 `finalize`

### getAlphaRaster

    public WritableRaster  getAlphaRaster(WritableRaster  raster)

  이 `ColorModel` 의 픽셀치가 다른 공간 밴드로서 색정보 및 알파 정보를 나타내는 경우 (`ComponentColorModel` 및 `DirectColorModel` 등)에, 입력 `Raster` 로부터 추출된, 이미지의 알파 채널을 나타내는 `Raster` 를 돌려줍니다. 그러한 `ColorModel` 에 관련한 `Raster` 객체가 알파 밴드를 가지고 있는 경우, 이 메소드는, 이 알파 밴드가 이미지 데이터의 마지막 밴드로서 포함되고 있다고 봅니다. 이 `ColorModel` 에 관련한 공간 알파 채널이 그 밖에 없는 경우는,`null` 를 돌려줍니다. 룩업테이블에 알파를 가지는 `IndexColorModel` 의 경우, 이 메소드는 `null` 를 돌려줍니다. 이것은, 공간적으로 분리한 알파 채널이 존재하지 않기 때문입니다. 이 메소드는, 새로운 `Raster` 를 생성합니다 (다만 데이터 배열은 공유된다). `ColorModel` 는 abstract 클래스이므로, 어느 인스턴스도 서브 클래스의 인스턴스가 됩니다. 이 abstract 클래스의 구현은 `null` 를 돌려주므로, 서브 클래스는 이 메소드를 오버라이드(override) 해 `null` 를 돌려주는 이외의 동작을 취득할 필요가 있습니다.

  파라미터:
    `raster` - 지정한 `Raster`
  반환값:
    지정한 `Raster` 로부터 취득되는, 이미지의 알파 채널을 나타내는 `Raster`

### toString

    public String  toString()

  이 `ColorModel` 객체의 내용을 나타내는 `String` 를 돌려줍니다.

  오버라이드(override):
    클래스 `Object` 내의 `toString`
  반환값:
    이 `ColorModel` 객체의 내용을 나타낸다 `String`

개요 | 패키지 | 클래스 | 사용 | 계층 트리 | 비추천 API | 색인 | 헬프

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 도 참조해 주세요.