- 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ピクセル表現のどのビット群に格納されているかを指定します。
-
メソッドのサマリー
すべてのメソッド インスタンス・メソッド 具象メソッド 修飾子と型 メソッド 説明 SampleModelcreateCompatibleSampleModel(int w, int h)このColorModelと互換性のあるデータ・レイアウトを持つ、指定された幅と高さのSampleModelを作成します。booleanequals(Object obj)指定されたObjectがPackedColorModelのインスタンスで、このPackedColorModelと等しいかどうかを判定します。WritableRastergetAlphaRaster(WritableRaster raster)イメージのアルファ・チャネルを表現するWritableRasterを、入力されたWritableRasterから抽出して返します。intgetMask(int index)指定されたカラー・サンプルやアルファ・サンプルが、ピクセル表現内のどのビット群に格納されているかを示すマスクを返します。int[]getMasks()ピクセル表現のどのビット群にカラー・サンプルとアルファ・サンプルが格納されているかを示すマスク配列を返します。inthashCode()このPackedColorModelのハッシュ・コードを返します。booleanisCompatibleSampleModel(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, 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- 指定されたColorSpacebits- ピクセル値のビット数colorMaskArray- ピクセルのビット値を表すマスクを指定する配列。ピクセル値は色成分を表すalphaMask- ピクセルのビット値を表すマスクを指定する。ピクセル値はアルファ成分を表すisAlphaPremultiplied- カラー・サンプルがアルファ・サンプルによってあらかじめ乗算されている場合はtrue、そうでない場合はfalsetrans- このカラー・モデルで表すことができるアルファ値を指定する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- 指定されたColorSpacebits- ピクセル値のビット数rmask- ピクセルのビット値を表すマスクを指定する。ピクセル値は赤の色成分を表すgmask- ピクセルのビット値を表すマスクを指定する。ピクセル値は緑の色成分を表すbmask- ピクセルのビット値を表すマスクを指定する。ピクセル値は青の色成分を表すamask- ピクセルのビット値を表すマスクを指定する。ピクセル値はアルファ成分を表すisAlphaPremultiplied- カラー・サンプルがアルファ・サンプルによってあらかじめ乗算されている場合はtrue、そうでない場合はfalsetrans- このカラー・モデルで表すことができるアルファ値を指定する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を作成します。- オーバーライド:
createCompatibleSampleModel、クラス:ColorModel- パラメータ:
w- 記述されたイメージ・データの領域の幅(ピクセル単位)h- 記述されたイメージ・データの領域の高さ(ピクセル単位)- 戻り値:
- 新しく生成された
SampleModel。 - 例外:
IllegalArgumentException-wまたはhが0以下である場合- 関連項目:
SampleModel
-
isCompatibleSampleModel
public boolean isCompatibleSampleModel(SampleModel sm)
指定されたSampleModelがこのColorModelと互換性があるかどうかを調べます。smがnullの場合、このメソッドはfalseを返します。- オーバーライド:
isCompatibleSampleModel、クラス:ColorModel- パラメータ:
sm- 指定されたSampleModel、またはnull- 戻り値:
- 指定された
SampleModelがこのColorModelと互換性がある場合はtrue、それ以外の場合はfalse。 - 関連項目:
SampleModel
-
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。 - 関連項目:
Object.hashCode()、HashMap
-
hashCode
public int hashCode()
このPackedColorModelのハッシュ・コードを返します。- オーバーライド:
- クラス
ColorModelのhashCode - 戻り値:
- このPackedColorModelのハッシュ・コード。
- 関連項目:
Object.equals(java.lang.Object),System.identityHashCode(java.lang.Object)
-
-