|
JavaTM 2 Platform Std. Ed. v1.4.0 |
||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | ||||||||||
java.lang.Object
|
+--java.awt.image.ColorModel
|
+--java.awt.image.PackedColorModel
PackedColorModel クラスは、色とアルファの情報を個別のサンプルとして表し、1 つのピクセルのすべてのサンプルを int、short、または byte 型の数で 1 つにパックするピクセル値を扱う abstract 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 です。
DirectColorModel,
SinglePixelPackedSampleModel,
BufferedImage| フィールドの概要 |
| クラス 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 を構築します。 |
|
PackedColorModel(ColorSpace space,
int bits,
int rmask,
int gmask,
int bmask,
int amask,
boolean isAlphaPremultiplied,
int trans,
int transferType)
指定したマスクから PackedColorModel を構築します。 |
|
| メソッドの概要 | |
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 と互換性があるかどうかを調べます。 |
| クラス java.lang.Object から継承したメソッド |
clone, getClass, notify, notifyAll, wait, wait, wait |
| コンストラクタの詳細 |
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 より大きい場合
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 space でない場合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 を作成します。
ColorModel 内の createCompatibleSampleModelw - 記述されたイメージデータの領域の幅 (ピクセル数)h - 記述されたイメージデータの領域の高さ (ピクセル数)
SampleModel
IllegalArgumentException - w または h が 0 以下の場合SampleModelpublic boolean isCompatibleSampleModel(SampleModel sm)
SampleModel がこの ColorModel と互換性があるかどうかを調べます。sm が null の場合は、このメソッドは false を返します。
ColorModel 内の isCompatibleSampleModelsm - 指定された SampleModel、または null
SampleModel がこの ColorModel と互換性がある場合は true、そうでない場合は falseSampleModelpublic WritableRaster getAlphaRaster(WritableRaster raster)
WritableRaster を、入力された WritableRaster から抽出して返します。このメソッドは、この ColorModel に関連した WritableRaster オブジェクトにアルファバンドがあれば、そのアルファバンドをイメージデータの最終バンドとして格納していると見なします。この ColorModel に関連した空間アルファチャネルがほかにない場合は、null を返します。このメソッドは新しい WritableRaster を作成しますが、データ配列は共有することになります。
ColorModel 内の getAlphaRasterraster - イメージが格納されている WritableRaster
raster に格納されたイメージのアルファチャンネルを表す WritableRasterpublic boolean equals(Object obj)
Object が PackedColorModel のインスタンスであり、この PackedColorModel と等しいかどうかを判定します。
ColorModel 内の equalsobj - 等しいかどうかが判定される Object
Object が PackedColorModel のインスタンスであり、この PackedColorModel と等しい場合は true、そうでない場合は false
|
JavaTM 2 Platform Std. Ed. v1.4.0 |
||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | ||||||||||
Java、Java 2D、および JDBC は米国ならびにその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.