|
JavaTM 2 Platform Std. Ed. v1.4.0 |
||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | ||||||||||
java.lang.Object
|
+--java.awt.image.ColorModel
|
+--java.awt.image.ComponentColorModel
これは ColorModel クラスの 1 つで、ピクセル値を扱います。このピクセル値は、色情報およびアルファ情報を個別のサンプルとして表現し、各サンプルを個別のデータ要素に格納します。このクラスは、任意の ColorSpace とともに使用できます。ピクセル値に含むカラーサンプルの数は、ColorSpace にある色成分の数と等しくなければなりません。アルファサンプルは、単一でもかまいません。
transferType 型のプリミティブ配列ピクセル表現を使うメソッドの場合、配列の長さはカラーサンプルおよびアルファサンプルの数と等しくなります。配列にはカラーサンプルが最初に格納され、アルファサンプルがあれば、そのあとに格納されます。カラーサンプルの順序は、ColorSpace で指定します。通常、この順序はカラースペースタイプの名前を反映します。たとえば、TYPE_RGB のインデックス 0 は赤、インデックス 1 は緑、そしてインデックス 2 は青になります。
表示、あるいはイメージ処理のためにピクセル値を色成分またはアルファ成分に変換する処理は、サンプルと成分の 1 対 1 対応になります。ComponentColorModel のインスタンスの作成に使用する転送型に応じて、インスタンスが符号付きか符号なしか、および整数型、float、double のどれか (詳細は以降を参照) によって、ピクセルサンプル値は表現されます。サンプル値を色成分またはアルファ成分に変換する処理は、特定の規則に従う必要があります。float および double のサンプルの場合は恒等変換で、標準化成分値が対応するサンプル値と等しくなります。整数サンプルの場合は、単純なスケールおよびオフセットのみの変換です。スケール定数とオフセット定数は成分ごとに異なることがあります。スケール定数とオフセット定数を適用した結果は、特定の範囲に確実に収まる色成分およびアルファ成分の値のセットです。通常、色成分の範囲は ColorSpace クラスの getMinValue メソッドと getMaxValue メソッドによって定義されます。アルファ成分の範囲は 0.0 〜 1.0 です。
転送型 DataBuffer.TYPE_BYTE、DataBuffer.TYPE_USHORT、および DataBuffer.TYPE_INT で作成された ComponentColorModel のインスタンスは、符号なし整数値として扱われるピクセルサンプル値を持ちます。ピクセル値の色サンプルとアルファサンプルのビット数は、ComponentColorModel(ColorSpace, int[], boolean, boolean, int, int) コンストラクタに渡された、対応するカラーサンプルおよびアルファサンプルのビット数と異なる場合があります。この場合、このクラスは、サンプル値の最下位 n ビットが成分の値を保持していると見なします。このとき n は、コンストラクタに渡された成分の有効ビットの数です。また、より上位にあるサンプル値の任意のビットについては、すべて 0 であると見なされます。したがって、サンプル値の範囲は 0 〜 2n - 1 になります。このクラスは、これらのサンプル値を標準化された色成分値にマップするので、0 は ColorSpace クラスの getMinValue メソッドから取得した値にマップされ、2n - 1 は getMaxValue メソッドから取得した値にマップされます。異なるカラーサンプルのマッピングの ComponentColorModel を作成するには、このクラスのサブクラス化し、getNormalizedComponents(Object, float[], int) メソッドをオーバーライドする必要があります。アルファサンプルの場合、常に 0 が 0.0 に、2n - 1 が 1.0 にマップされます。
符号なしサンプル値を持つインスタンスでは、 次の 2 つの条件が満たされる場合にのみ、標準化されていない色成分およびアルファ成分表現がサポートされます。1 つは、サンプル値 0 が標準化成分値 0.0 にマップされ、サンプル値 2n - 1 が 1.0 にマップされることです。もう 1 つは、ColorSpace のすべての色成分の最小/最大範囲が 0.0 〜 1.0 であることです。この場合、成分表現は対応するサンプルの最下位 n ビットになります。したがって、各成分は 0 と 2n - 1 の間の符号なし整数値です。このとき n は、特定の成分の有効ビット数です。これらの条件が満たされない場合は、非標準化成分の引数を取る任意のメソッドが IllegalArgumentException をスローします。
転送型 DataBuffer.TYPE_SHORT、DataBuffer.TYPE_FLOAT、および DataBuffer.TYPE_DOUBLE で作成された ComponentColorModel のインスタンスは、符号付き short、float、または double 値として扱われるピクセルサンプル値を保持します。これらのインスタンスは標準化されていない色成分およびアルファ成分表現をサポートしないため、インスタンスを呼び出すと、引数にこれらの表現を取るメソッドは IllegalArgumentException をスローします。このクラスのインスタンスの標準化成分値は、次の転送型に対応した範囲を持ちます。float サンプルは float データ型の全範囲、double サンプルは float データ型の全範囲 (double を float にキャストした結果)、short サンプルはほぼ -maxVal 〜 +maxVal です。maxVal は ColorSpace の成分あたりの最大値です (-32767 が -maxVal に、0 が 0.0 に、32767 が +maxVal にマップされます)。サブクラスは、getNormalizedComponents(Object, float[], int) メソッドをオーバーライドすることにより、short サンプル値の標準化成分値へのスケーリングをオーバーライドすることがあります。float サンプルと double サンプルについては、標準化成分値が対応するサンプル値と等しくなり、サブクラスはこれらの転送型のどの非恒等変換スケーリングも追加しません。
転送型 DataBuffer.TYPE_SHORT、DataBuffer.TYPE_FLOAT、および DataBuffer.TYPE_DOUBLE で作成された ComponentColorModel のインスタンスは、すべてのサンプル値のすべてのビットを使用します。したがって、すべての色成分およびアルファ成分は、 DataBuffer.TYPE_SHORT の場合は 16 ビット、DataBuffer.TYPE_FLOAT の場合は 32 ビット、DataBuffer.TYPE_DOUBLE の場合は 64 ビットを保持します。ComponentColorModel(ColorSpace, int[], boolean, boolean, int, int) 形式のコンストラクタがこれらの転送型で使用される場合、ビット配列引数は無視されます。
カラーサンプル値とアルファサンプル値が描画する成分値として適切に解釈されないこともあります。これは、ComponentColorModel が、符号なしサンプル値の標準化された色成分値へのマッピングをオーバーライドするためサブクラス化されているか、特定の範囲外の符号付きサンプル値が使用されている場合に起こります。たとえば、アルファ成分を 0 〜 32767 の範囲にない符号付き short 値、標準化範囲 0.0 〜 1.0 として指定すると、予期しない結果になります。色成分が ColorSpace の標準化範囲 (ColorSpace クラスの getMinValue メソッドと getMaxValue メソッドを使用して取得) 内にあり、アルファ成分が 0.0 〜 1.0 であるように、描画の前にアプリケーション側でピクセルデータを適切にスケーリングする必要があります。色成分値またはアルファ成分値が範囲外にある場合には、描画結果を確定できません。
ComponentColorModel の成分数が 1 でコンポーネント値が符号なし (つまり、転送型 DataBuffer.TYPE_BYTE、DataBuffer.TYPE_USHORT、または DataBuffer.TYPE_INT を使用する単一の色成分のみで、アルファ成分がない) 以外の場合、単一の int ピクセル表現を使うメソッドは IllegalArgumentException をスローします。
ComponentColorModel は、ComponentSampleModel、BandedSampleModel、または PixelInterleavedSampleModel と組み合わせて、BufferedImage の作成に使用できます。
ColorModel,
ColorSpace,
ComponentSampleModel,
BandedSampleModel,
PixelInterleavedSampleModel,
BufferedImage| フィールドの概要 |
| クラス java.awt.image.ColorModel から継承したフィールド |
pixel_bits, transferType |
| インタフェース java.awt.Transparency から継承したフィールド |
BITMASK, OPAQUE, TRANSLUCENT |
| コンストラクタの概要 | |
ComponentColorModel(ColorSpace colorSpace,
boolean hasAlpha,
boolean isAlphaPremultiplied,
int transparency,
int transferType)
指定されたパラメータから、 ComponentColorModel を構築します。 |
|
ComponentColorModel(ColorSpace colorSpace,
int[] bits,
boolean hasAlpha,
boolean isAlphaPremultiplied,
int transparency,
int transferType)
指定されたパラメータから、 ComponentColorModel を構築します。 |
|
| メソッドの概要 | |
ColorModel |
coerceData(WritableRaster raster,
boolean isAlphaPremultiplied)
ラスタデータが isAlphaPremultiplied 変数で指定された状態と一致するようにします。 |
SampleModel |
createCompatibleSampleModel(int w,
int h)
指定された幅および高さで、この ColorModel と互換性のあるデータレイアウトを持つ SampleModel を作成します。 |
WritableRaster |
createCompatibleWritableRaster(int w,
int h)
指定された幅および高さで、この ColorModel と互換性のあるデータレイアウト (SampleModel) を持つ WritableRaster を作成します。 |
boolean |
equals(Object obj)
このカラーモデルと別のカラーモデルとが等しいかどうかを比較します。 |
int |
getAlpha(int pixel)
指定されたピクセルのアルファ成分を、0 〜 255 の範囲でスケーリングして返します。 |
int |
getAlpha(Object inData)
指定されたピクセルのアルファ成分を 0 〜 255 の範囲でスケーリングして返します。 |
WritableRaster |
getAlphaRaster(WritableRaster raster)
イメージのアルファチャネルを表現する Raster を、入力された Raster から抽出して返します。 |
int |
getBlue(int pixel)
指定されたピクセルの青成分をデフォルトの RGB ColorSpace (sRGB) で 0 〜 255 の範囲でスケーリングして返します。 |
int |
getBlue(Object inData)
指定されたピクセルの青色成分を、デフォルトの RGB ColorSpace (sRGB) で 0 〜 255 の範囲でスケーリングして返します。 |
int[] |
getComponents(int pixel,
int[] components,
int offset)
この ColorModel |
int[] |
getComponents(Object pixel,
int[] components,
int offset)
この ColorModel |
int |
getDataElement(float[] normComponents,
int normOffset)
標準化されていない色成分およびアルファ成分の配列を指定して、この ColorModel に int として表されるピクセル値を返します。 |
int |
getDataElement(int[] components,
int offset)
非正規化された色成分あるいはアルファ成分の配列を指定して、この ColorModel の int として表現されるピクセル値を返します。 |
Object |
getDataElements(float[] normComponents,
int normOffset,
Object obj)
標準化色成分およびアルファ成分の配列を指定して、この ColorModel のピクセルのデータ要素配列表現を返します。 |
Object |
getDataElements(int[] components,
int offset,
Object obj)
非正規化された色成分またはアルファ成分の配列を指定して、この ColorModel のピクセルのデータ要素配列表現を返します。 |
Object |
getDataElements(int rgb,
Object pixel)
デフォルトの RGB カラーモデルの int ピクセル表現を指定して、この ColorModel のピクセルデータ要素配列表現を返します。 |
int |
getGreen(int pixel)
指定されたピクセルの緑成分をデフォルトの RGB ColorSpace (sRGB) で 0 〜 255 の範囲でスケーリングして返します。 |
int |
getGreen(Object inData)
指定されたピクセルの緑色成分を、デフォルトの RGB ColorSpace (sRGB) で 0 〜 255 の範囲でスケーリングして返します。 |
float[] |
getNormalizedComponents(int[] components,
int offset,
float[] normComponents,
int normOffset)
標準化成分配列を指定して、非標準化形式ですべての色成分およびアルファ成分の配列を返します。 |
float[] |
getNormalizedComponents(Object pixel,
float[] normComponents,
int normOffset)
この ColorModel の指定されたピクセルについて、標準化形式で色成分とアルファ成分の配列を返します。 |
int |
getRed(int pixel)
指定されたピクセルの赤成分をデフォルトの RGB ColorSpace (sRGB) で 0 〜 255 の範囲でスケーリングして返します。 |
int |
getRed(Object inData)
指定されたピクセルの赤色成分を、デフォルトの RGB ColorSpace (sRGB) で 0 〜 255 の範囲でスケーリングして返します。 |
int |
getRGB(int pixel)
デフォルトの RGB カラーモデル形式で、ピクセルの色成分またはアルファ成分を返します。 |
int |
getRGB(Object inData)
デフォルトの RGB カラーモデル形式で、ピクセルの色成分またはアルファ成分を返します。 |
int[] |
getUnnormalizedComponents(float[] normComponents,
int normOffset,
int[] components,
int offset)
標準化成分配列を指定して、非標準化形式ですべての色成分およびアルファ成分の配列を返します。 |
boolean |
isCompatibleRaster(Raster raster)
raster がこの ColorModel と互換性がある場合に true を返し、そうでない場合は false を返します。 |
boolean |
isCompatibleSampleModel(SampleModel sm)
指定された SampleModel がこの ColorModel と互換性があるかどうかを判定します。 |
| クラス java.awt.image.ColorModel から継承したメソッド |
finalize, getColorSpace, getComponentSize, getComponentSize, getNumColorComponents, getNumComponents, getPixelSize, getRGBdefault, getTransferType, getTransparency, hasAlpha, hashCode, isAlphaPremultiplied, toString |
| クラス java.lang.Object から継承したメソッド |
clone, getClass, notify, notifyAll, wait, wait, wait |
| コンストラクタの詳細 |
public ComponentColorModel(ColorSpace colorSpace,
int[] bits,
boolean hasAlpha,
boolean isAlphaPremultiplied,
int transparency,
int transferType)
ComponentColorModel を構築します。色成分は、指定された ColorSpace 内になります。サポートされる転送型は、DataBuffer.TYPE_BYTE、DataBuffer.TYPE_USHORT、DataBuffer.TYPE_INT、DataBuffer.TYPE_SHORT、DataBuffer.TYPE_FLOAT、および DataBuffer.TYPE_DOUBLE です。null でない場合、bits 配列は、色成分およびアルファ成分ごとの有効ビット数を指定します。ピクセル値にアルファ情報がない場合、配列の長さは少なくとも ColorSpace にある成分数になり、アルファ情報がある場合は、成分数よりも 1 大きくなります。transferType が DataBuffer.TYPE_SHORT、DataBuffer.TYPE_FLOAT、または DataBuffer.TYPE_DOUBLE の場合、bits 配列引数は無視されます。hasAlpha は、アルファ情報の有無を示します。hasAlpha が true の場合、boolean 型の isAlphaPremultiplied は、ピクセル値にあるカラーサンプルおよびアルファサンプルを評価する方法を指定します。boolean が true の場合は、カラーサンプルはアルファサンプルと乗算されたと見なされます。transparency は、このカラーモデルで表現できるアルファ値を指定します。許容される transparency 値は、OPAQUE、BITMASK、または TRANSLUCENT です。transferType は、ピクセル値を表現するために使うプリミティブ配列の型です。
colorSpace - このカラーモデルに関連した ColorSpacebits - 成分ごとの有効ビット数。null の場合、すべての成分サンプルのすべてのビットが有効になる。transferType が DataBuffer.TYPE_SHORT、DataBuffer.TYPE_FLOAT、または DataBuffer.TYPE_DOUBLE の場合は無視され、すべての成分サンプルのすべてのビットが有効になるhasAlpha - true の場合、このカラーモデルはアルファをサポートするisAlphaPremultiplied - true の場合、アルファはあらかじめ乗算されているtransparency - このカラーモデルで表すことができるアルファ値を指定するtransferType - ピクセル値を表現するために使われるプリミティブ配列の型を指定する
IllegalArgumentException - bits 配列引数が null でない場合、その長さは色成分およびアルファ成分より小さく、転送型は DataBuffer.TYPE_BYTE、DataBuffer.TYPE_USHORT、または DataBuffer.TYPE_INT
IllegalArgumentException - transferType が、DataBuffer.TYPE_BYTE、DataBuffer.TYPE_USHORT、DataBuffer.TYPE_INT、DataBuffer.TYPE_SHORT、DataBuffer.TYPE_FLOAT、DataBuffer.TYPE_DOUBLE のどれでもない場合ColorSpace,
Transparency
public ComponentColorModel(ColorSpace colorSpace,
boolean hasAlpha,
boolean isAlphaPremultiplied,
int transparency,
int transferType)
ComponentColorModel を構築します。色成分は、指定された ColorSpace 内になります。サポートされる転送型は、DataBuffer.TYPE_BYTE、DataBuffer.TYPE_USHORT、DataBuffer.TYPE_INT、DataBuffer.TYPE_SHORT、DataBuffer.TYPE_FLOAT、および DataBuffer.TYPE_DOUBLE です。色成分およびアルファ成分ごとの有効ビット数は、それぞれ 8、16、32、16、32、64 です。色成分数は ColorSpace にある成分数になります。hasAlpha が true の場合、アルファ成分があります。hasAlpha が true の場合、boolean 型の isAlphaPremultiplied は、ピクセル値にあるカラーサンプルおよびアルファサンプルを評価する方法を指定します。boolean が true の場合は、カラーサンプルはアルファサンプルと乗算されたと見なされます。transparency は、このカラーモデルで表現できるアルファ値を指定します。許容される transparency 値は、OPAQUE、BITMASK、または TRANSLUCENT です。transferType は、ピクセル値の表現に使用するプリミティブ配列の型です。
colorSpace - このカラーモデルに関連した ColorSpacehasAlpha - true の場合、このカラーモデルはアルファをサポートするisAlphaPremultiplied - true の場合、アルファはあらかじめ乗算されているtransparency - このカラーモデルで表現可能なアルファ値を指定するtransferType - ピクセル値の表現に使用するプリミティブ配列の型を指定する
IllegalArgumentException - transferType が、DataBuffer.TYPE_BYTE、DataBuffer.TYPE_USHORT、DataBuffer.TYPE_INT、DataBuffer.TYPE_SHORT、DataBuffer.TYPE_FLOAT、DataBuffer.TYPE_DOUBLE のどれでもない場合ColorSpace,
Transparency| メソッドの詳細 |
public int getRed(int pixel)
ColorModel 内の getRedpixel - 赤色成分を取得するピクセル
IllegalArgumentException - この ColorModel に 2 つ以上の成分がある場合
IllegalArgumentException - この ColorModel の成分値が符号付きの場合public int getGreen(int pixel)
ColorModel 内の getGreenpixel - 緑色成分を取得するピクセル
IllegalArgumentException - この ColorModel に 2 つ以上の成分がある場合
IllegalArgumentException - この ColorModel の成分値が符号付きの場合public int getBlue(int pixel)
ColorModel 内の getBluepixel - 青色成分を取得するピクセル
IllegalArgumentException - この ColorModel に 2 つ以上の成分がある場合
IllegalArgumentException - この ColorModel の成分値が符号付きの場合public int getAlpha(int pixel)
ColorModel 内の getAlphapixel - アルファ成分を取得するピクセル
IllegalArgumentException - この ColorModel に 2 つ以上の成分がある場合
IllegalArgumentException - この ColorModel の成分値が符号付きの場合public int getRGB(int pixel)
ColorModel 内の getRGBpixel - 色成分またはアルファ成分を取得するピクセル
IllegalArgumentException - この ColorModel に 2 つ以上の成分がある場合
IllegalArgumentException - この ColorModel の成分値が符号付きの場合ColorModel.getRGBdefault()public int getRed(Object inData)
pixel 値は、オブジェクト参照として渡された transferType 型のデータ要素からなる配列によって指定されます。戻り値は、あらかじめ乗算されていない値です。アルファがあらかじめ乗算されている場合、このメソッドは値を返す前にアルファを除算します。アルファ値が 0 の場合、赤の値は 0 になります。ComponentColorModel はサブクラス化できるため、サブクラスがこのメソッドの実装を継承しますが、サブクラスがその実装をオーバーライドせず、しかもサポートされていない transferType を使用した場合、例外がスローされます。
ColorModel 内の getRedinData - 赤色成分を取得するピクセル。transferType 型のデータ要素の配列で指定する
ClassCastException - inData が transferType 型のプリミティブ配列でない場合
ArrayIndexOutOfBoundsException - inData がこの ColorModel のピクセル値を保持するのに十分な大きさでない場合
UnsupportedOperationException - この ComponentColorModel の転送型が、サポートされている転送型 (DataBuffer.TYPE_BYTE、DataBuffer.TYPE_USHORT、DataBuffer.TYPE_INT、DataBuffer.TYPE_SHORT、DataBuffer.TYPE_FLOAT、DataBuffer.TYPE_DOUBLE) のいずれでもない場合public int getGreen(Object inData)
ColorSpace (sRGB) で 0 〜 255 の範囲でスケーリングして返します。必要な場合は、色変換が行われます。pixel 値は、オブジェクト参照として渡された transferType 型のデータ要素からなる配列によって指定されます。戻り値は、あらかじめ乗算されていない値です。アルファがあらかじめ乗算されている場合、このメソッドは値を返す前にアルファを除算します。アルファ値が 0 の場合、緑の値は 0 になります。ComponentColorModel はサブクラス化できるため、サブクラスはこのメソッドの実装を継承しますが、サブクラスがその実装をオーバーライドせず、しかもサポートされていない transferType を使用した場合、例外がスローされます。
ColorModel 内の getGreeninData - 緑色成分を取得するピクセル。transferType 型のデータ要素の配列で指定する
ClassCastException - inData が transferType 型のプリミティブ配列でない場合
ArrayIndexOutOfBoundsException - inData がこの ColorModel のピクセル値を保持するのに十分な大きさでない場合
UnsupportedOperationException - この ComponentColorModel の転送型が、サポートされている転送型 (DataBuffer.TYPE_BYTE、DataBuffer.TYPE_USHORT、DataBuffer.TYPE_INT、DataBuffer.TYPE_SHORT、DataBuffer.TYPE_FLOAT、DataBuffer.TYPE_DOUBLE) のいずれでもない場合public int getBlue(Object inData)
ColorSpace (sRGB) で 0 〜 255 の範囲でスケーリングして返します。必要な場合は、色変換が行われます。pixel 値は、オブジェクト参照として渡された transferType 型のデータ要素からなる配列によって指定されます。戻り値は、あらかじめ乗算されていない値です。アルファがあらかじめ乗算されている場合、このメソッドは値を返す前にアルファを除算します。アルファ値が 0 の場合、青の値は 0 になります。ComponentColorModel はサブクラス化できるため、サブクラスはこのメソッドの実装を継承しますが、サブクラスがその実装をオーバーライドせず、しかもサポートされていない transferType を使用した場合、例外がスローされます。
ColorModel 内の getBlueinData - 青色成分を取得するピクセル。transferType 型のデータ要素の配列で指定する
ClassCastException - inData が transferType 型のプリミティブ配列でない場合
ArrayIndexOutOfBoundsException - inData がこの ColorModel のピクセル値を保持するのに十分な大きさでない場合
UnsupportedOperationException - この ComponentColorModel の転送型が、サポートされている転送型 (DataBuffer.TYPE_BYTE、DataBuffer.TYPE_USHORT、DataBuffer.TYPE_INT、DataBuffer.TYPE_SHORT、DataBuffer.TYPE_FLOAT、DataBuffer.TYPE_DOUBLE) のいずれでもない場合public int getAlpha(Object inData)
transferType 型のデータ要素からなる配列によって指定されます。ComponentColorModel はサブクラス化できるため、サブクラスはこのメソッドの実装を継承しますが、サブクラスがその実装をオーバーライドせず、しかもサポートされていない transferType を使用した場合、例外がスローされます。
ColorModel 内の getAlphainData - アルファ成分を取得するピクセル。transferType 型のデータ要素の配列で指定する
ClassCastException - inData が transferType 型のプリミティブ配列でない場合
ArrayIndexOutOfBoundsException - inData がこの ColorModel のピクセル値を保持するのに十分な大きさでない場合
UnsupportedOperationException - この ComponentColorModel の転送型が、サポートされている転送型 (DataBuffer.TYPE_BYTE、DataBuffer.TYPE_USHORT、DataBuffer.TYPE_INT、DataBuffer.TYPE_SHORT、DataBuffer.TYPE_FLOAT、DataBuffer.TYPE_DOUBLE) のいずれでもない場合public int getRGB(Object inData)
transferType 型のデータ要素からなる配列によって指定されます。戻り値は、あらかじめ乗算されていない値です。アルファがあらかじめ乗算されていた場合、このメソッドは色成分でアルファを除算します。アルファ値が 0 の場合、カラー値は 0 になります。ComponentColorModel はサブクラス化できるため、サブクラスはこのメソッドの実装を継承しますが、サブクラスがその実装をオーバーライドせず、しかもサポートされていない transferType を使用した場合、例外がスローされます。
ColorModel 内の getRGBinData - 色成分またはアルファ成分を取得するピクセル。transferType 型のデータ要素の配列で指定する
ClassCastException - inData が transferType 型のプリミティブ配列でない場合
ArrayIndexOutOfBoundsException - inData がこの ColorModel のピクセル値を保持するのに十分な大きさでない場合
UnsupportedOperationException - この ComponentColorModel の転送型が、サポートされている転送型 (DataBuffer.TYPE_BYTE、DataBuffer.TYPE_USHORT、DataBuffer.TYPE_INT、DataBuffer.TYPE_SHORT、DataBuffer.TYPE_FLOAT、DataBuffer.TYPE_DOUBLE) のいずれでもない場合ColorModel.getRGBdefault()
public Object getDataElements(int rgb,
Object pixel)
ColorModel のピクセルデータ要素配列表現を返します。その後この配列は、WritableRaster オブジェクトの setDataElements メソッドに渡すことができます。pixel パラメータが null である場合は、新しい配列が割り当てられます。ComponentColorModel はサブクラス化できるため、サブクラスはこのメソッドの実装を継承しますが、サブクラスがその実装をオーバーライドせず、しかもサポートされていない transferType を使用した場合、例外がスローされます。
ColorModel 内の getDataElementsrgb - RGB カラーモデルの整数型ピクセル表現pixel - 指定されたピクセル
ColorModel のピクセルのデータ要素配列表現
ClassCastException - pixel が null でなく、transferType 型のプリミティブ配列でない場合
ArrayIndexOutOfBoundsException - pixel がこの ColorModel のピクセル値を保持するのに十分な大きさでない場合
UnsupportedOperationException - この ComponentColorModel の転送型が、サポートされている転送型 (DataBuffer.TYPE_BYTE、DataBuffer.TYPE_USHORT、DataBuffer.TYPE_INT、DataBuffer.TYPE_SHORT、DataBuffer.TYPE_FLOAT、DataBuffer.TYPE_DOUBLE) のいずれでもない場合WritableRaster.setDataElements(int, int, java.lang.Object),
SampleModel.setDataElements(int, int, java.lang.Object, java.awt.image.DataBuffer)
public int[] getComponents(int pixel,
int[] components,
int offset)
ColorModel のピクセルを指定して、標準化されていない色成分またはアルファ成分の配列を返します。この ColorModel の成分値が非標準化形式で表現できない場合は、IllegalArgumentException がスローされます。色成分やアルファ成分は、components 配列の offset 位置から格納されます。これは、配列がこのメソッドで割り当てられている場合も同様です。
- オーバーライド:
- クラス
ColorModel 内の getComponents
- パラメータ:
pixel - 整数で指定されるピクセル値components - 標準化されていない色成分またはアルファ成分を格納する整数型の配列。components 配列が null の場合は、新しい配列が割り当てられるoffset - components 配列内のオフセット
- 戻り値:
- components 配列
- 例外:
IllegalArgumentException - この ColorModel に 2 つ以上の成分がある場合
IllegalArgumentException - この ColorModel が非標準化形式をサポートしない場合
ArrayIndexOutOfBoundsException - components 配列が null でない場合に、offset からのすべての色成分およびアルファ成分を保持するのに十分な大きさでないとき
public int[] getComponents(Object pixel,
int[] components,
int offset)
ColorModel のピクセルを指定して、標準化されていない色成分またはアルファ成分の配列を返します。ピクセルの値は、オブジェクト参照として渡された transferType 型のデータ要素による配列で指定されます。この ColorModel の成分値が非標準化形式で表現できない場合は、IllegalArgumentException がスローされます。 色成分やアルファ成分は、components 配列の offset の位置から格納されます。これは、配列がこのメソッドで割り当てられている場合も同様です。ComponentColorModel はサブクラス化できるため、サブクラスはこのメソッドの実装を継承しますが、サブクラスがその実装をオーバーライドせず、しかもサポートされていない transferType を使用した場合、このメソッドは例外をスローすることがあります。
- オーバーライド:
- クラス
ColorModel 内の getComponents
- パラメータ:
pixel - transferType 型のデータ要素の配列で指定されるピクセル値components - 標準化されていない色成分またはアルファ成分を格納する整数型の配列。components 配列が null の場合は、新しい配列が割り当てられるoffset - components 配列内のオフセット
- 戻り値:
components 配列
- 例外:
IllegalArgumentException - この ComponentColorModel が非標準化形式をサポートしない場合
UnsupportedOperationException - この ComponentColorModel の転送型が、DataBuffer.TYPE_BYTE、DataBuffer.TYPE_USHORT、DataBuffer.TYPE_INT のいずれでもない場合
ClassCastException - pixel が transferType 型のプリミティブ配列でない場合
IllegalArgumentException - components 配列が null でない場合に、offset からのすべての色成分およびアルファ成分を保持するのに十分な大きさでないとき。あるいは、pixel がこの ColorModel のピクセル値を保持するのに十分な大きさでない場合
public int[] getUnnormalizedComponents(float[] normComponents,
int normOffset,
int[] components,
int offset)
ColorModel の ColorSpace によって指定された 1 成分あたりの最小と最大の間の float 値です。この ColorModel の色成分値が非標準化形式で表現できない場合は、IllegalArgumentException がスローされます。components 配列が null の場合は、新しい配列が割り当てられます。components 配列が返されます。色成分およびアルファ成分は、offset を起点に components 配列に格納されます。配列がこのメソッドで割り当てられている場合も同様です。components 配列が null でない場合に、(offset を起点に) すべての色成分およびアルファ成分を格納するのに十分な大きさでないときは、ArrayIndexOutOfBoundsException がスローされます。normComponents 配列が normOffset を起点にすべての色成分およびアルファ成分を格納するのに十分な大きさでない場合は、IllegalArgumentException がスローされます。
- オーバーライド:
- クラス
ColorModel 内の getUnnormalizedComponents
- パラメータ:
normComponents - 標準化成分を格納している配列normOffset - 標準化成分の取り出しを開始する、normComponents 配列内のオフセットcomponents - normComponents から成分を受け取る配列offset - normComponents から標準化成分の格納を開始する、components 内のインデックス
- 戻り値:
- 標準化されていない色成分およびアルファ成分が格納されている配列
- 例外:
IllegalArgumentException - この ComponentColorModel が非標準化形式をサポートしない場合
IllegalArgumentException - normComponents から normOffset を引いた長さが numComponents より小さい場合
public float[] getNormalizedComponents(int[] components,
int offset,
float[] normComponents,
int normOffset)
ColorModel の ColorSpace によって指定された 1 成分あたりの最小と最大の間の float 値です。この ColorModel の色成分値が非標準化形式で表現できない場合は、IllegalArgumentException がスローされます。components 配列が null の場合は、新しい配列が割り当てられます。components 配列が返されます。色成分およびアルファ成分は、offset を起点に components 配列に格納されます。配列がこのメソッドで割り当てられている場合も同様です。components 配列が null でない場合に、(offset を起点に) すべての色成分およびアルファ成分を格納するのに十分な大きさでないときは、ArrayIndexOutOfBoundsException がスローされます。normComponents 配列が normOffset を起点にすべての色成分およびアルファ成分を格納するのに十分な大きさでない場合は、IllegalArgumentException がスローされます。
- オーバーライド:
- クラス
ColorModel 内の getNormalizedComponents
- パラメータ:
components - 標準化されていない成分を格納している配列offset - 標準化されていない成分の取り出しを開始する、components 配列内のオフセットnormComponents - 標準化成分を受け取る配列normOffset - 標準化成分の格納を開始する、normComponents 内のインデックス
- 戻り値:
- 標準化されている色成分およびアルファ成分が格納されている配列
- 例外:
IllegalArgumentException - この ComponentColorModel が非標準化形式をサポートしない場合
public int getDataElement(int[] components,
int offset)
ColorModel の int として表現されるピクセル値を返します。
ColorModel 内の getDataElementcomponents - 標準化されていない色成分またはアルファ成分の配列offset - components 配列内のオフセット
IllegalArgumentException - この ColorModel に 2 つ以上の成分がある場合
IllegalArgumentException - この ComponentColorModel が非標準化形式をサポートしない場合
public Object getDataElements(int[] components,
int offset,
Object obj)
ColorModel のピクセルのデータ要素配列表現を返します。この配列は、WritableRaster オブジェクトの setDataElements メソッドに渡すことができます。
ColorModel 内の getDataElementscomponents - 標準化されていない色成分またはアルファ成分の配列offset - components 配列内の int オフセットobj - ピクセルのデータ要素配列表現を格納するオブジェクト。obj 変数が null の場合は、新しい配列が割り当てられる。obj が null でない場合は、transferType 型のプリミティブ配列でなければならない。obj がこの ColorModel のピクセル値を保持するのに十分な大きさでない場合は、ArrayIndexOutOfBoundsException がスローされる。ComponentColorModel はサブクラス化できるため、サブクラスはこのメソッドの実装を継承するが、サブクラスがその実装をオーバーライドせず、しかもサポートされていない transferType を使用した場合、例外がスローされる
ColorModel のピクセルのデータ要素配列表現
IllegalArgumentException - components 配列が、offset からのすべての色成分およびアルファ成分を保持するのに十分な大きさでない場合
ClassCastException - obj が null でなく、transferType 型のプリミティブ配列でない場合
ArrayIndexOutOfBoundsException - obj がこの ColorModel のピクセル値を保持するのに十分な大きさでない場合
IllegalArgumentException - この ComponentColorModel が非標準化形式をサポートしない場合
UnsupportedOperationException - この ComponentColorModel の転送型が、DataBuffer.TYPE_BYTE、DataBuffer.TYPE_USHORT、DataBuffer.TYPE_INT のいずれでもない場合WritableRaster.setDataElements(int, int, java.lang.Object),
SampleModel.setDataElements(int, int, java.lang.Object, java.awt.image.DataBuffer)
public int getDataElement(float[] normComponents,
int normOffset)
ColorModel に int として表されるピクセル値を返します。この ColorModel のピクセル値が単一の int として表現できない場合、このメソッドは IllegalArgumentException をスローします。normComponents 配列が (normOffset を起点に) すべての色成分およびアルファ成分を保持するのに十分な大きさでない場合は、ArrayIndexOutOfBoundsException がスローされます。
ColorModel 内の getDataElementnormComponents - 標準化されている色成分およびアルファ成分の配列normOffset - 色成分およびアルファ成分の取り出しを開始する、normComponents 内のインデックス
ColorModel 内の int ピクセル値
IllegalArgumentException - この ColorModel のピクセル値が単一の int として表現できない場合
ArrayIndexOutOfBoundsException - normComponents 配列の大きさが normOffset を起点にすべての色成分およびアルファ成分を保持するのに十分でない場合
public Object getDataElements(float[] normComponents,
int normOffset,
Object obj)
ColorModel のピクセルのデータ要素配列表現を返します。この配列は、WritableRaster オブジェクトの setDataElements メソッドに渡すことができます。normComponents 配列が (normOffset を起点に) すべての色成分およびアルファ成分を格納するのに十分な大きさでない場合は、ArrayIndexOutOfBoundsException がスローされます。obj 変数が null の場合は、新しい配列が割り当てられます。obj が null でない場合は、transferType 型のプリミティブ配列である必要があります。そうでない場合は、ClassCastException がスローされます。obj がこの ColorModel のピクセル値を格納するのに十分な大きさでない場合は、ArrayIndexOutOfBoundsException がスローされます。
ColorModel 内の getDataElementsnormComponents - 標準化されている色成分およびアルファ成分の配列normOffset - 色成分およびアルファ成分の取り出しを開始する、normComponents 内のインデックスobj - 返されたピクセルを保持するプリミティブデータ配列
Object
ClassCastException - obj が transferType 型のプリミティブ配列でない場合
ArrayIndexOutOfBoundsException - obj がこの ColorModel のピクセル値を保持するのに十分な大きさでない場合、あるいは normOffset を起点にした normComponents 配列がすべての色成分およびアルファ成分を保持するのに十分な大きさでない場合WritableRaster.setDataElements(int, int, java.lang.Object),
SampleModel.setDataElements(int, int, java.lang.Object, java.awt.image.DataBuffer)
public float[] getNormalizedComponents(Object pixel,
float[] normComponents,
int normOffset)
の指定されたピクセルについて、標準化形式で色成分とアルファ成分の配列を返します。ピクセル値は、オブジェクト参照として渡される transferType 型のデータ要素の配列によって指定されます。pixel が transferType 型のプリミティブ配列でない場合は、ClassCastException がスローされます。pixel がこの ColorModel のピクセル値を格納できるほど大きくない場合は、ArrayIndexOutOfBoundsException がスローされます。標準化成分は、この ColorModel の ColorSpace オブジェクトによって指定された成分ごとの最小と最大の間の float 値です。normComponents 配列が null の場合は、新しい配列が割り当てられます。その normComponents 配列が返されます。色成分とアルファ成分は、normOffset から始まる normComponents 配列に格納されます。これは、配列がこのメソッドで割り当てられている場合も同様です。normComponents 配列が null でなく、色成分とアルファ成分 (normOffset から始まる) のすべてを格納できるほど大きくない場合は、ArrayIndexOutOfBoundsException がスローされます。
サブクラスがデフォルトとは異なる方法でピクセルサンプル値を色成分値へ変換するよう設計されている場合は、このメソッドをサブクラスでオーバーライドする必要があります。このクラスにより実装されるデフォルトの変換は、クラスのコメントに記述されています。デフォルトではない変換を実装するサブクラスは、このコメントに定義された許容変換の制約に従う必要があります。
- オーバーライド:
- クラス
ColorModel 内の getNormalizedComponents
- パラメータ:
pixel - 指定されたピクセルnormComponents - 標準化成分を受け取る配列normOffset - 標準化成分の格納を開始する、normComponents 配列内のオフセット
- 戻り値:
- 標準化されている色成分およびアルファ成分が格納されている配列
- 例外:
ClassCastException - pixel が transferType 型のプリミティブ配列でない場合
ArrayIndexOutOfBoundsException - normComponents の大きさが normOffset を起点にすべての色成分およびアルファ成分を保持するのに十分でない場合
ArrayIndexOutOfBoundsException - pixel がこの ColorModel のピクセル値を保持するのに十分な大きさでない場合- 導入されたバージョン:
- 1.4
public ColorModel coerceData(WritableRaster raster,
boolean isAlphaPremultiplied)
isAlphaPremultiplied 変数で指定された状態と一致するようにします。このとき、データはこの ColorModel によって現在正しく記述されていると見なされます。このメソッドは、カラーラスタデータをアルファで乗算または除算します。データが正しい状態にある場合には、処理は行いません。データが強制的に型変換される必要がある場合、このメソッドは isAlphaPremultiplied フラグを正しく設定した、この ColorModel のインスタンスも返します。ColorModel はサブクラス化できるため、サブクラスはこのメソッドの実装を継承しますが、サブクラスがその実装をオーバーライドせず、しかもサポートされていない transferType を使用した場合、例外がスローされます。
ColorModel 内の coerceDataraster - WritableRaster データisAlphaPremultiplied - アルファがあらかじめ乗算される場合は true、そうでない場合は false
ColorModel オブジェクト
NullPointerException - raster が null で、強制変換が必要な場合
UnsupportedOperationException - この ComponentColorModel の転送型が、サポートされている転送型 (DataBuffer.TYPE_BYTE、DataBuffer.TYPE_USHORT、DataBuffer.TYPE_INT、DataBuffer.TYPE_SHORT、DataBuffer.TYPE_FLOAT、DataBuffer.TYPE_DOUBLE) のいずれでもない場合public boolean isCompatibleRaster(Raster raster)
raster がこの ColorModel と互換性がある場合に true を返し、そうでない場合は false を返します。
ColorModel 内の isCompatibleRasterraster - 互換性を判定する Raster オブジェクト
raster がこの ColorModel と互換性がある場合は true、そうでない場合は false
public WritableRaster createCompatibleWritableRaster(int w,
int h)
ColorModel と互換性のあるデータレイアウト (SampleModel) を持つ WritableRaster を作成します。
ColorModel 内の createCompatibleWritableRasterw - 生成する WritableRaster の幅h - 生成する WritableRaster の高さ
ColorModel と互換性のある WritableRasterWritableRaster,
SampleModel
public SampleModel createCompatibleSampleModel(int w,
int h)
ColorModel と互換性のあるデータレイアウトを持つ SampleModel を作成します。
ColorModel 内の createCompatibleSampleModelw - 生成する SampleModel の幅h - 生成する SampleModel の高さ
ColorModel と互換性のある SampleModelSampleModelpublic boolean isCompatibleSampleModel(SampleModel sm)
SampleModel がこの ColorModel と互換性があるかどうかを判定します。
ColorModel 内の isCompatibleSampleModelsm - 互換性を判定する SampleModel
SampleModel がこの ColorModel と互換性がある場合は true、そうでない場合は falseSampleModelpublic WritableRaster getAlphaRaster(WritableRaster raster)
Raster を、入力された Raster から抽出して返します。このメソッドは、この ColorModel に関連した Raster オブジェクトにアルファバンドがあれば、そのアルファバンドをイメージデータの最終バンドとして格納していると見なします。この ColorModel に関連した空間アルファチャネルがほかにない場合は、null を返します。このメソッドは新しい Raster を作成しますが、データ配列は共有することになります。
ColorModel 内の getAlphaRasterraster - アルファチャネルを抽出する WritableRaster
WritableRasterpublic boolean equals(Object obj)
ColorModel 内の equalsobj - このカラーモデルと比較するオブジェクト
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.