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つにパックするピクセル値を扱う抽象ColorModel
クラスです。 このクラスは、任意のColorSpace
と一緒に使うことができます。 ピクセル値に含まれるカラー・サンプル数は、ColorSpace
の色成分の数と一致する必要があります。 アルファ・サンプルを1つ含むことができます。 transferType
の型のプリミティブ配列のピクセル表現を使うメソッドでは、配列長は常に1です。 サポートされる転送タイプは、DataBuffer.TYPE_BYTE、DataBuffer.TYPE_USHORT、およびDataBuffer.TYPE_INTです。 カラー・サンプルとアルファ・サンプルは、ビット・マスクで示されるビット単位で配列の単一の要素に格納されます。 各ビット・マスクは連続している必要があり、複数のマスクをオーバーラップさせることはできません。 同じマスクが、ほかのメソッドによって使用される単一のintピクセル表現に適用されます。 次に、マスクと、カラー・サンプルとアルファ・サンプルの対応関係を示します。
- マスクは0から
getNumComponents
- 1までのインデックスで識別される。 - 最初のインデックス
getNumColorComponents
は、カラー・サンプルを表す。 - アルファ・サンプルがある場合は、最後のインデックスに対応する。
- カラー・インデックスの順序は
ColorSpace
が指定する。 通常はカラー・スペース・タイプの名前を反映する。たとえば、TYPE_RGBの場合、インデックス0は赤、インデックス1は緑、インデックス2は青に対応する。
表示または処理のためにピクセル値から色成分やアルファ成分に変換するときには、サンプルと成分は1対1の対応になります。 PackedColorModel
は一般に、パックされたサンプルを定義するのにマスクを使うイメージ・データとともに使用します。 たとえば、PackedColorModel
はSinglePixelPackedSampleModel
と組み合わせて使用してBufferedImage
を作成できます。 通常、SampleModel
とColorModel
が使うマスクは同じものです。 ただし、マスクが異なる場合のピクセル・データの色解釈は、ColorModel
のマスクに従って行われます。
このクラスで使うピクセル値は常に単一のint
として表現できるので、単一のint
ピクセル表現はこのクラスのすべてのオブジェクトで有効です。 このため、この表現を使うメソッドは、無効なピクセル値が原因でIllegalArgumentException
をスローすることはありません。
PackedColorModel
のサブクラスはX11 TrueColorビジュアルと類似したDirectColorModel
です。
-
フィールドのサマリー
クラス 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
を構築します。この配列は、各カラー・サンプル、およびアルファ・マスクが、int
ピクセル表現のどのビット群に格納されているかを指定します。PackedColorModel
(ColorSpace space, int bits, int rmask, int gmask, int bmask, int amask, boolean isAlphaPremultiplied, int trans, int transferType) 指定したマスクからPackedColorModel
を構築します。マスクは、アルファ、赤、緑、青の各カラー・サンプルが、int
ピクセル表現のどのビット群に格納されているかを指定します。 -
メソッドのサマリー
修飾子と型メソッド説明createCompatibleSampleModel
(int w, int h) このColorModel
と互換性のあるデータ・レイアウトを持つ、指定された幅と高さのSampleModel
を作成します。boolean
指定されたObject
がPackedColorModel
のインスタンスで、このPackedColorModel
と等しいかどうかを判定します。getAlphaRaster
(WritableRaster raster) イメージのアルファ・チャネルを表現するWritableRaster
を、入力されたWritableRaster
から抽出して返します。final int
getMask
(int index) 指定されたカラー・サンプルやアルファ・サンプルが、ピクセル表現内のどのビット群に格納されているかを示すマスクを返します。final int[]
getMasks()
ピクセル表現のどのビット群にカラー・サンプルとアルファ・サンプルが格納されているかを示すマスク配列を返します。int
hashCode()
このPackedColorModelのハッシュ・コードを返します。boolean
指定された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, isAlphaPremultiplied, isCompatibleRaster, toString
-
コンストラクタの詳細
-
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空間でない場合- 関連項目:
-
-
メソッドの詳細
-
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
を作成します。- オーバーライド:
createCompatibleSampleModel
、クラスColorModel
- パラメータ:
w
- 記述されたイメージ・データの領域の幅(ピクセル単位)h
- 記述されたイメージ・データの領域の高さ(ピクセル単位)- 戻り値:
- 新しく生成された
SampleModel
。 - 例外:
IllegalArgumentException
-w
またはh
が0以下である場合- 関連項目:
-
isCompatibleSampleModel
public boolean isCompatibleSampleModel(SampleModel sm) 指定されたSampleModel
がこのColorModel
と互換性があるかどうかを調べます。sm
がnull
の場合、このメソッドはfalse
を返します。- オーバーライド:
isCompatibleSampleModel
、クラスColorModel
- パラメータ:
sm
- 指定されたSampleModel
、またはnull
- 戻り値:
- 指定された
SampleModel
がこのColorModel
と互換性がある場合はtrue
、それ以外の場合はfalse
。 - 関連項目:
-
getAlphaRaster
public WritableRaster getAlphaRaster(WritableRaster raster) イメージのアルファ・チャネルを表現するWritableRaster
を、入力されたWritableRaster
から抽出して返します。 このメソッドは、このColorModel
に関連したWritableRaster
オブジェクトにアルファ・バンドがあれば、そのアルファ・バンドをイメージ・データの最終バンドとして格納していると見なします。 このColorModel
に関連した空間アルファ・チャネルがほかにない場合は、null
を返します。 このメソッドは新しいWritableRaster
を作成しますが、データ配列は共有することになります。- オーバーライド:
getAlphaRaster
、クラスColorModel
- パラメータ:
raster
- イメージが格納されているWritableRaster
- 戻り値:
raster
に格納されたイメージのアルファ・チャンネルを表すWritableRaster
。
-
equals
public boolean equals(Object obj) 指定されたObject
がPackedColorModel
のインスタンスで、このPackedColorModel
と等しいかどうかを判定します。- オーバーライド:
equals
、クラスColorModel
- パラメータ:
obj
- 等しいかどうかが判定されるObject
- 戻り値:
- 指定された
Object
がPackedColorModel
のインスタンスで、このPackedColorModel
に等しい場合はtrue
、それ以外の場合はfalse
。 - 関連項目:
-
hashCode
public int hashCode()このPackedColorModelのハッシュ・コードを返します。- オーバーライド:
- クラス
ColorModel
のhashCode
- 戻り値:
- このPackedColorModelのハッシュ・コード。
- 関連項目:
-