JavaTM Platform
Standard Ed. 6

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 의 형태의 프리미티브(primitive) 배열의 픽셀 표현을 사용하는 메소드에서는, 배열장은 항상 1 입니다. 지원되는 전송 타입은, DataBuffer.TYPE_BYTE, DataBuffer.TYPE_USHORT, 및 DataBuffer.TYPE_INT 입니다. 칼라 샘플과 알파 샘플은, 비트 마스크로 나타나는 비트 단위로 배열의 단일의 요소에 포함됩니다. 각 비트 마스크는 연속하고 있을 필요가 있어, 복수의 마스크를 오버랩 시킬 수 없습니다. 같은 마스크가, 다른 메소드에 의해 사용되는 단일의 int 픽셀 표현에 적용됩니다. 다음에, 마스크와 칼라 샘플과 알파 샘플의 대응 관계를 나타냅니다.

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

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

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 는, 이 칼라 모델로 표현할 수 있는 알파치를 나타냅니다. 전송 타입은, 픽셀치를 표현하기 위해서 사용하는 프리미티브(primitive) 배열의 형태입니다.

파라미터:
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 는, 이 칼라 모델로 표현할 수 있는 알파치를 나타냅니다. 전송 타입은, 픽셀치를 표현하기 위해서 사용하는 프리미티브(primitive) 배열의 형태입니다.

파라미터:
space - 지정된 ColorSpace
bits - 픽셀치의 비트수
rmask - 픽셀의 비트치를 나타내는 마스크를 지정한다. 픽셀치는 빨강의 색성분을 나타내는
gmask - 픽셀의 비트치를 나타내는 마스크를 지정한다. 픽셀치는 초록의 색성분을 나타내는
bmask - 픽셀의 비트치를 나타내는 마스크를 지정한다. 픽셀치는 파랑의 색성분을 나타내는
amask - 픽셀의 비트치를 나타내는 마스크를 지정한다. 픽셀치는 알파 성분을 나타내는
isAlphaPremultiplied - 칼라 샘플이 알파 샘플에 의해 미리 곱셈되고 있는 경우는 true, 그렇지 않은 경우는 false
trans - 이 칼라 모델로 나타낼 수가 있는 알파치를 지정하는
transferType - 픽셀치를 나타내는데 사용되는 배열의 형태
예외:
IllegalArgumentException - space 가 TYPE_RGB 공간이 아닌 경우
관련 항목:
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 - 기술된 이미지 데이터의 영역의 폭 (픽셀수)
h - 기술된 이미지 데이터의 영역의 높이 (픽셀수)
반환값:
새롭게 작성된 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
관련 항목:
Object.hashCode() , Hashtable

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