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, transferType
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 ピクセル表現のどのビット群に格納されているかを指定します。 |
修飾子と型 | メソッドと説明 |
---|---|
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, toString
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 より大きい場合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 空間でない場合ColorSpace
public 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
、クラス: ColorModel
w
- 記述されたイメージデータの領域の幅 (ピクセル単位)h
- 記述されたイメージデータの領域の高さ (ピクセル単位)SampleModel
。IllegalArgumentException
- w
または h
が 0 以下である場合SampleModel
public boolean isCompatibleSampleModel(SampleModel sm)
SampleModel
がこの ColorModel
と互換性があるかどうかを調べます。sm
が null
の場合、このメソッドは false
を返します。isCompatibleSampleModel
、クラス: ColorModel
sm
- 指定された SampleModel
、または null
SampleModel
がこの ColorModel
と互換性がある場合は true
、それ以外の場合は false
。SampleModel
public WritableRaster getAlphaRaster(WritableRaster raster)
WritableRaster
を、入力された WritableRaster
から抽出して返します。このメソッドは、この ColorModel
に関連した WritableRaster
オブジェクトにアルファバンドがあれば、そのアルファバンドをイメージデータの最終バンドとして格納していると見なします。この ColorModel
に関連した空間アルファチャネルがほかにない場合は、null
を返します。このメソッドは新しい WritableRaster
を作成しますが、データ配列は共有することになります。getAlphaRaster
、クラス: ColorModel
raster
- イメージが格納されている WritableRaster
raster
に格納されたイメージのアルファチャンネルを表す WritableRaster
。public boolean equals(Object obj)
Object
が PackedColorModel
のインスタンスで、この PackedColorModel
と等しいかどうかを判定します。equals
、クラス: ColorModel
obj
- 等しいかどうかが判定される Object
Object
が PackedColorModel
のインスタンスで、この PackedColorModel
に等しい場合は true
、それ以外の場合は false
。Object.hashCode()
、HashMap
バグまたは機能を送信
詳細な API リファレンスおよび開発者ドキュメントについては、Java SE のドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.