JavaTM 2
Platform
Std.  Ed.  v1. 4.0

java.awt.image
클래스 PackedColorModel

java.lang.Object 
  |
  +--java.awt.image.ColorModel 
        |
        +--java.awt.image.PackedColorModel
모든 구현 인터페이스:
Transparency
직계의 기존의 서브 클래스:
DirectColorModel

public abstract class PackedColorModel
extends ColorModel

PackedColorModel 클래스는 색과 알파의 정보를 개별의 샘플로서 나타내, 1 개의 픽셀의 모든 샘플을 int, short, 또는 byte 형의 수로 1 개에 팩 하는 픽셀치를 취급하는 abstract ColorModel 클래스입니다. 이 클래스는 임의의 ColorSpace 와 함께 사용할 수 있습니다. 픽셀치에 포함되는 칼라 샘플수는 ColorSpace 의 색성분의 수로 일치할 필요가 있습니다. 알파 샘플을 1 개 포함할 수가 있습니다. transferType 의 형태의 원시적 배열의 픽셀 표현을 사용하는 메소드에서는 배열장은 항상 1 입니다. 서포트되는 전송 타입은 DataBuffer.TYPE_BYTE, DataBuffer.TYPE_USHORT, 및 DataBuffer.TYPE_INT 입니다. 칼라 샘플과 알파 샘플은 비트 마스크로 나타나는 비트 단위로 배열의 단일의 요소에 저장됩니다. 비트 마스크는 각각 인접하고 있을 필요가 있습니다만, 오버랩 할 수 없습니다. 같은 마스크가, 다른 메소드에 의해 사용되는 단일의 int 픽셀 표현에 적용됩니다. 이하에, 마스크와 칼라 샘플과 알파 샘플의 대응 관계를 나타냅니다.

표시 또는 처리를 위해서(때문에) 픽셀치로부터 색성분이나 알파 성분으로 변환할 때는 샘플과 성분은 1 대 1 의 대응이 됩니다. PackedColorModel 는 일반적으로, 팩 된 샘플을 정의하는데 마스크를 사용하는 이미지 데이터와 함께 사용합니다. 예를 들어,PackedColorModelSinglePixelPackedSampleModel 와 조합해 사용해 BufferedImage 를 작성할 수 있습니다. 통상,SampleModelColorModel 가 사용하는 마스크는 같은 것입니다. 다만, 마스크가 다른 경우의 픽셀 데이터의 색해석은 ColorModel 의 마스크에 따라 행해집니다.

이 클래스에서 사용하는 픽셀치는 항상 단일의 int 로서 표현할 수 있기 (위해)때문에, 단일의 int 에 의한 픽셀 표현이 이 클래스의 모든 오브젝트로 유효합니다. 이 때문에, 이 표현을 사용하는 메소드는 무효인 픽셀치가 원인으로 IllegalArgumentException 를 슬로우 할 것은 없습니다.

PackedColorModel 의 서브 클래스는 X11 TrueColor 에 유사한 DirectColorModel 입니다.

관련 항목:
DirectColorModel , SinglePixelPackedSampleModel , BufferedImage

필드의 개요
 
클래스 java.awt.image. ColorModel 에서 상속받은 필드
pixel_bits , transferType
 
인터페이스 java.awt. Transparency 에서 상속받은 필드
BITMASK , OPAQUE , TRANSLUCENT
 
생성자의 개요
PackedColorModel (ColorSpace  space, int bits, int[] colorMaskArray, int alphaMask, boolean isAlphaPremultiplied, int trans, int transferType)
          칼라 마스크 배열로부터 PackedColorModel 를 구축합니다.
PackedColorModel (ColorSpace  space, int bits, int rmask, int gmask, int bmask, int amask, boolean isAlphaPremultiplied, int trans, int transferType)
          지정한 마스크로부터 PackedColorModel 를 구축합니다.
 
메소드의 개요
 SampleModel createCompatibleSampleModel (int w, int h)
          이 ColorModel 와 호환성이 있는 데이터 레이아웃을 가지는 지정된 폭과 높이의 SampleModel 를 작성합니다.
 boolean equals (Object  obj)
          지정된 ObjectPackedColorModel 의 인스턴스이며, 이 PackedColorModel 와 동일한지 어떤지를 판정합니다.
 WritableRaster getAlphaRaster (WritableRaster  raster)
          이미지의 알파 채널을 표현하는 WritableRaster 를, 입력된 WritableRaster 로부터 추출해 돌려줍니다.
 int getMask (int index)
          지정된 칼라 샘플이나 알파 샘플이, 픽셀 표현내의 어느 비트군에게 저장되고 있는지를 나타내는 마스크를 돌려줍니다.
 int[] getMasks ()
          픽셀 표현의 어느 비트군에게 칼라 샘플과 알파 샘플이 저장되고 있는지를 나타내는 마스크 배열을 돌려줍니다.
 boolean isCompatibleSampleModel (SampleModel  sm)
          SampleModel 가 이 ColorModel 와 호환성이 있을지 어떨지를 조사합니다.
 
클래스 java.awt.image. ColorModel 에서 상속받은 메소드
coerceData , createCompatibleWritableRaster , finalize , getAlpha , getAlpha , getBlue , getBlue , getColorSpace , getComponents , getComponents , getComponentSize , getComponentSize , getDataElement , getDataElement , getDataElements , getDataElements , getDataElements , getGreen , getGreen , getNormalizedComponents , getNormalizedComponents , getNumColorComponents , getNumComponents , getPixelSize , getRed , getRed , getRGB , getRGB , getRGBdefault , getTransferType , getTransparency , getUnnormalizedComponents , hasAlpha , hashCode , isAlphaPremultiplied , isCompatibleRaster , toString
 
클래스 java.lang. Object 에서 상속받은 메소드
clone , getClass , notify , notifyAll , wait , wait , wait
 

생성자의 상세

PackedColorModel

public PackedColorModel(ColorSpace  space,
                        int bits,
                        int[] colorMaskArray,
                        int alphaMask,
                        boolean isAlphaPremultiplied,
                        int trans,
                        int transferType)
칼라 마스크 배열로부터 PackedColorModel 를 구축합니다. 이 배열은 각 칼라 샘플, 및 알파 마스크가,int 픽셀 표현의 어느 비트군에게 저장되고 있는지를 지정합니다. 색성분은 지정된 ColorSpace 에 들어갑니다. colorMaskArray 의 길이는 ColorSpace 내의 성분수가 됩니다. 각 마스크내의 모든 비트는 연속하고 있어,int 픽셀 표현의 지정 자리수의 최하정도 비트에 들어갈 필요가 있습니다. alphaMask 가 0 의 경우는 알파는 없습니다. 알파가 있는 경우는 boolean 형의 isAlphaPremultiplied 가 픽셀치의 칼라 샘플과 알파 샘플의 해석 방법을 지정합니다. boolean 형이 true 의 경우, 칼라 샘플은 알파 샘플로 곱셈된 것이라고 보여집니다. 투명도 trans 는 이 칼라 모델로 표현할 수 있는 알파치를 나타냅니다. 전송 타입은 픽셀치를 표현하기 위해서 사용하는 원시적 배열의 형태입니다.

파라미터:
space - 지정된 ColorSpace
bits - 픽셀치의 비트수
colorMaskArray - 픽셀의 비트치를 나타내는 마스크를 지정하는 배열. 픽셀치는 색성분을 나타내는
alphaMask - 픽셀의 비트치를 나타내는 마스크를 지정합니다. 픽셀치는 알파 성분을 나타내는
isAlphaPremultiplied - 칼라 샘플이 알파 샘플에 의해 미리 곱셈되고 있는 경우는 true, 그렇지 않은 경우는 false
trans - 이 칼라 모델로 나타낼 수가 있는 알파치를 지정하는
transferType - 픽셀치를 나타내는데 사용되는 배열의 형태
예외:
IllegalArgumentException - bits 가 1 보다 작은지 32 보다 큰 경우

PackedColorModel

public PackedColorModel(ColorSpace  space,
                        int bits,
                        int rmask,
                        int gmask,
                        int bmask,
                        int amask,
                        boolean isAlphaPremultiplied,
                        int trans,
                        int transferType)
지정한 마스크로부터 PackedColorModel 를 구축합니다. 마스크는 알파, 적, 록, 청의 각 칼라 샘플이,int 픽셀 표현의 어느 비트군에게 저장되고 있는지를 지정합니다. 색성분은 ColorSpace.TYPE_RGB 타입의 지정된 ColorSpace 에 들어갑니다. 각 마스크내의 모든 비트는 연속하고 있어,int 픽셀 표현의 지정 자리수의 최하정도 비트에 들어갈 필요가 있습니다. amask 가 0 의 경우는 알파는 없습니다. 알파가 있는 경우는 boolean 형의 isAlphaPremultiplied 가 픽셀치의 칼라 샘플과 알파 샘플의 해석 방법을 지정합니다. boolean 형이 true 의 경우, 칼라 샘플은 알파 샘플로 곱셈된 것이라고 보여집니다. 투명도 trans 는 이 칼라 모델로 표현할 수 있는 알파치를 나타냅니다. 전송 타입은 픽셀치를 표현하기 위해서 사용하는 원시적 배열의 형태입니다.

파라미터:
space - 지정된 ColorSpace
bits - 픽셀치의 비트수
rmask - 픽셀의 비트치를 나타내는 마스크를 지정합니다. 픽셀치는 빨강의 색성분을 나타내는
gmask - 픽셀의 비트치를 나타내는 마스크를 지정합니다. 픽셀치는 초록의 색성분을 나타내는
bmask - 픽셀의 비트치를 나타내는 마스크를 지정합니다. 픽셀치는 파랑의 색성분을 나타내는
amask - 픽셀의 비트치를 나타내는 마스크를 지정합니다. 픽셀치는 알파 성분을 나타내는
isAlphaPremultiplied - 칼라 샘플이 알파 샘플에 의해 미리 곱셈되고 있는 경우는 true, 그렇지 않은 경우는 false
trans - 이 칼라 모델로 나타낼 수가 있는 알파치를 지정하는
transferType - 픽셀치를 나타내는데 사용되는 배열의 형태
예외:
IllegalArgumentException - space 가 TYPE_RGB space 가 아닌 경우
관련 항목:
ColorSpace
메소드의 상세

getMask

public final int getMask(int index)
지정된 칼라 샘플이나 알파 샘플이, 픽셀 표현내의 어느 비트군에게 저장되고 있는지를 나타내는 마스크를 돌려줍니다. 칼라 샘플에서는 index 는 칼라 스페이스의 칼라 샘플명의 배치에 대응합니다. 이 때문에, CMYK ColorSpace 의 index 0 은 Cyan 에,index 1 은 Magenta 에 대응합니다. 알파가 있는 경우, 알파 index 는 다음과 같이 됩니다.
      alphaIndex = numComponents() - 1;
 

파라미터:
index - 지정된 칼라 샘플 또는 알파 샘플
반환값:
int 픽셀 표현의 어느 비트가,index 가 지정하는 칼라 샘플 또는 알파 샘플을 보관 유지하고 있는지를 나타내는 마스크
예외:
ArrayIndexOutOfBoundsException - index 가, 이 PackedColorModel 의 성분의 수마이너스 1 보다 큰지 index 가 0 보다 작은 경우

getMasks

public final int[] getMasks()
픽셀 표현의 어느 비트군에게 칼라 샘플과 알파 샘플이 저장되고 있는지를 나타내는 마스크 배열을 돌려줍니다.

반환값:
int 픽셀 표현의 어느 비트군에게, 칼라 샘플 또는 알파 샘플이 저장되고 있는지를 나타내는 마스크 배열

createCompatibleSampleModel

public SampleModel  createCompatibleSampleModel(int w,
                                               int h)
ColorModel 와 호환성이 있는 데이터 레이아웃을 가지는 지정된 폭과 높이의 SampleModel 를 작성합니다.

오버라이드(override):
클래스 ColorModel 내의 createCompatibleSampleModel
파라미터:
w - 기술된 이미지 데이터의 area의 폭 (픽셀수)
h - 기술된 이미지 데이터의 area의 높이 (픽셀수)
반환값:
새롭게 작성된 SampleModel
예외:
IllegalArgumentException - w 또는 h 가 0 이하의 경우
관련 항목:
SampleModel

isCompatibleSampleModel

public boolean isCompatibleSampleModel(SampleModel  sm)
SampleModel 가 이 ColorModel 와 호환성이 있을지 어떨지를 조사합니다. smnull 의 경우는 이 메소드는 false 를 돌려줍니다.

오버라이드(override):
클래스 ColorModel 내의 isCompatibleSampleModel
파라미터:
sm - 지정된 SampleModel, 또는 null
반환값:
지정된 SampleModel 가 이 ColorModel 와 호환성이 있는 경우는 true, 그렇지 않은 경우는 false
관련 항목:
SampleModel

getAlphaRaster

public WritableRaster  getAlphaRaster(WritableRaster  raster)
이미지의 알파 채널을 표현하는 WritableRaster 를, 입력된 WritableRaster 로부터 추출해 돌려줍니다. 이 메소드는 이 ColorModel 에 관련한 WritableRaster 오브젝트에 알파 밴드가 있으면, 그 알파 밴드를 이미지 데이터의 최종 밴드로서 저장하고 있다고 봅니다. 이 ColorModel 에 관련한 공간 알파 채널이 그 밖에 없는 경우는 null 를 돌려줍니다. 이 메소드는 새로운 WritableRaster 를 작성합니다만, 데이터 배열은 공유하게 됩니다.

오버라이드(override):
클래스 ColorModel 내의 getAlphaRaster
파라미터:
raster - 이미지가 저장되고 있는 WritableRaster
반환값:
raster 에 저장된 이미지의 알파 채널을 나타내는 WritableRaster

equals

public boolean equals(Object  obj)
지정된 ObjectPackedColorModel 의 인스턴스이며, 이 PackedColorModel 와 동일한지 어떤지를 판정합니다.

오버라이드(override):
클래스 ColorModel 내의 equals
파라미터:
obj - 동일한지 어떤지가 판정되는 Object
반환값:
지정된 ObjectPackedColorModel 의 인스턴스이며, 이 PackedColorModel 와 동일한 경우는 true, 그렇지 않은 경우는 false

JavaTM 2
Platform
Std.  Ed.  v1. 4.0

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

Java, Java 2 D, 및 JDBC 는 미국 및 그 외의 나라에 있어서의 미국 Sun Microsystems, Inc. 의 상표 혹은 등록상표입니다.
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.