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
が1であれば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, 2016, Oracle and/or its affiliates. All rights reserved.Use is subject to license termsDocumentation Redistribution Policyも参照してください。