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 ピクセル表現に適用されます。次に、マスクと、カラーサンプルとアルファサンプルの対応関係を示します。
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 です。
pixel_bits, transferTypeBITMASK, 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 ピクセル表現のどのビット群に格納されているかを指定します。 |
| 修飾子と型 | メソッドと説明 |
|---|---|
SampleModel |
createCompatibleSampleModel(int w, int h)
この
ColorModel と互換性のあるデータレイアウトを持つ、指定された幅と高さの SampleModel を作成します。 |
boolean |
equals(Object obj)
指定された
Object が PackedColorModel のインスタンスで、この PackedColorModel と等しいかどうかを判定します。 |
WritableRaster |
getAlphaRaster(WritableRaster raster)
イメージのアルファチャネルを表現する
WritableRaster を、入力された WritableRaster から抽出して返します。 |
int |
getMask(int index)
指定されたカラーサンプルやアルファサンプルが、ピクセル表現内のどのビット群に格納されているかを示すマスクを返します。
|
int[] |
getMasks()
ピクセル表現のどのビット群にカラーサンプルとアルファサンプルが格納されているかを示すマスク配列を返します。
|
boolean |
isCompatibleSampleModel(SampleModel sm)
指定された
SampleModel がこの 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, toStringpublic 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 - 指定されたColorSpacebits - ピクセル値のビット数colorMaskArray - ピクセルのビット値を表すマスクを指定する配列。ピクセル値は色成分を表すalphaMask - ピクセルのビット値を表すマスクを指定する。ピクセル値はアルファ成分を表すisAlphaPremultiplied - カラーサンプルがアルファサンプルによってあらかじめ乗算されている場合は true、そうでない場合は falsetrans - このカラーモデルで表すことができるアルファ値を指定するtransferType - ピクセル値を表すのに使用される配列の型IllegalArgumentException - bits が 1 より小さいか 32 より大きい場合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 - 指定されたColorSpacebits - ピクセル値のビット数rmask - ピクセルのビット値を表すマスクを指定する。ピクセル値は赤の色成分を表すgmask - ピクセルのビット値を表すマスクを指定する。ピクセル値は緑の色成分を表すbmask - ピクセルのビット値を表すマスクを指定する。ピクセル値は青の色成分を表すamask - ピクセルのビット値を表すマスクを指定する。ピクセル値はアルファ成分を表すisAlphaPremultiplied - カラーサンプルがアルファサンプルによってあらかじめ乗算されている場合は true、そうでない場合は falsetrans - このカラーモデルで表すことができるアルファ値を指定するtransferType - ピクセル値を表すのに使用される配列の型IllegalArgumentException - space が TYPE_RGB 空間でない場合ColorSpacepublic final int getMask(int index)
index はカラースペースのカラーサンプル名の配置に対応します。このため、CMYK ColorSpace の index 0 は Cyan に、index は Magenta に対応します。アルファがある場合、アルファ index は次のようになります。
alphaIndex = numComponents() - 1;
index - 指定されたカラーサンプルまたはアルファサンプルint ピクセル表現のどのビットが index が指定するカラーサンプルまたはアルファサンプルを保持しているかを示すマスク。ArrayIndexOutOfBoundsException - index がこの PackedColorModel の成分数マイナス 1 より大きいか、index が 0 より小さい場合public final int[] getMasks()
int ピクセル表現のどのビット群に、カラーサンプルまたはアルファサンプルが格納されているかを示すマスク配列。public SampleModel createCompatibleSampleModel(int w, int h)
ColorModel と互換性のあるデータレイアウトを持つ、指定された幅と高さの SampleModel を作成します。createCompatibleSampleModel、クラス: ColorModelw - 記述されたイメージデータの領域の幅 (ピクセル単位)h - 記述されたイメージデータの領域の高さ (ピクセル単位)SampleModel。IllegalArgumentException - w または h が 0 以下である場合SampleModelpublic boolean isCompatibleSampleModel(SampleModel sm)
SampleModel がこの ColorModel と互換性があるかどうかを調べます。sm が null の場合、このメソッドは false を返します。isCompatibleSampleModel、クラス: ColorModelsm - 指定された SampleModel、または nullSampleModel がこの ColorModel と互換性がある場合は true、それ以外の場合は false。SampleModelpublic WritableRaster getAlphaRaster(WritableRaster raster)
WritableRaster を、入力された WritableRaster から抽出して返します。このメソッドは、この ColorModel に関連した WritableRaster オブジェクトにアルファバンドがあれば、そのアルファバンドをイメージデータの最終バンドとして格納していると見なします。この ColorModel に関連した空間アルファチャネルがほかにない場合は、null を返します。このメソッドは新しい WritableRaster を作成しますが、データ配列は共有することになります。getAlphaRaster、クラス: ColorModelraster - イメージが格納されている WritableRasterraster に格納されたイメージのアルファチャンネルを表す WritableRaster。public boolean equals(Object obj)
Object が PackedColorModel のインスタンスで、この PackedColorModel と等しいかどうかを判定します。equals、クラス: ColorModelobj - 等しいかどうかが判定される ObjectObject が PackedColorModel のインスタンスで、この PackedColorModel に等しい場合は true、それ以外の場合は false。Object.hashCode()、HashMap バグまたは機能を送信
詳細な API リファレンスおよび開発者ドキュメントについては、Java SE のドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.