public class ComponentColorModel extends ColorModel
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's
クラスの getMinValue
メソッドから取得した値にマップされ、2n - 1 は getMaxValue
メソッドから取得した値にマップされます。異なるカラーサンプルのマッピングの ComponentColorModel
l を作成するには、このクラスのサブクラス化し、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
の作成に使用できます。
pixel_bits, transferType
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 変数で指定された状態と一致するようにします。このとき、データはこの ColorModel によって現在正しく記述されていると見なされます。 |
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 カラーモデルの整数型ピクセル表現を指定して、この
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 と互換性があるかどうかを判定します。 |
finalize, getColorSpace, getComponentSize, getComponentSize, getNumColorComponents, getNumComponents, getPixelSize, getRGBdefault, getTransferType, getTransparency, hasAlpha, hashCode, isAlphaPremultiplied, toString
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
- このカラーモデルに関連した ColorSpace
。bits
- 1 成分当たりの有効ビット数。null の場合、すべての成分サンプルのすべてのビットが有効になる。transferType が DataBuffer.TYPE_SHORT
、DataBuffer.TYPE_FLOAT
、または DataBuffer.TYPE_DOUBLE
の場合は無視され、すべての成分サンプルのすべてのビットが有効になる。hasAlpha
- true の場合、このカラーモデルはアルファをサポートする。isAlphaPremultiplied
- true の場合、アルファはあらかじめ乗算されている。transparency
- このカラーモデルで表現可能なアルファ値を指定する。transferType
- ピクセル値を表現するために使うプリミティブ配列の型を指定する。IllegalArgumentException
- bits
配列引数が null でない場合、その長さが色成分およびアルファ成分の数より小さい場合、transferType が 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
- このカラーモデルに関連した ColorSpace
。hasAlpha
- 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)
getRed
、クラス: ColorModel
pixel
- 赤色成分を取得するピクセル。IllegalArgumentException
- この ColorModel
に 2 つ以上の成分がある場合。IllegalArgumentException
- この ColorModel
の成分値が符号付きの場合public int getGreen(int pixel)
getGreen
、クラス: ColorModel
pixel
- 緑色成分を取得するピクセル。IllegalArgumentException
- この ColorModel
に 2 つ以上の成分がある場合。IllegalArgumentException
- この ColorModel
の成分値が符号付きの場合public int getBlue(int pixel)
getBlue
、クラス: ColorModel
pixel
- 青色成分を取得するピクセル。IllegalArgumentException
- この ColorModel
に 2 つ以上の成分がある場合。IllegalArgumentException
- この ColorModel
の成分値が符号付きの場合public int getAlpha(int pixel)
getAlpha
、クラス: ColorModel
pixel
- アルファ成分を取得するピクセル。IllegalArgumentException
- この ColorModel
に 2 つ以上の成分がある場合。IllegalArgumentException
- この ColorModel
の成分値が符号付きの場合public int getRGB(int pixel)
getRGB
、クラス: ColorModel
pixel
- 色成分またはアルファ成分を取得するピクセル。IllegalArgumentException
- この ColorModel
に 2 つ以上の成分がある場合。IllegalArgumentException
- この ColorModel
の成分値が符号付きの場合ColorModel.getRGBdefault()
public int getRed(Object inData)
pixel
値は、オブジェクト参照として渡された transferType
型のデータ要素からなる配列によって指定されます。戻り値は、あらかじめ乗算されていない値です。アルファがあらかじめ乗算されている場合、このメソッドは値を返す前にアルファを除算します。アルファ値が 0 の場合、赤の値は 0 になります。ComponentColorModel
はサブクラス化できるため、サブクラスはこのメソッドの実装を継承します。サブクラスがオーバーライドしない場合、サポートされていない transferType
を使用した場合は例外をスローします。getRed
、クラス: ColorModel
inData
- 赤色成分を取得するピクセル。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
を使用した場合は例外をスローします。getGreen
、クラス: ColorModel
inData
- 緑色成分を取得するピクセル。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
を使用した場合は例外をスローします。getBlue
、クラス: ColorModel
inData
- 青色成分を取得するピクセル。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
を使用した場合は例外をスローします。getAlpha
、クラス: ColorModel
inData
- アルファ成分を取得するピクセル。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
を使用した場合は例外をスローします。getRGB
、クラス: ColorModel
inData
- 色成分またはアルファ成分を取得するピクセル。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
を使用した場合は例外をスローします。getDataElements
、クラス: ColorModel
rgb
- 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 がスローされます。色成分とアルファ成分は、offset
から始まる components
配列に格納されます。これは、配列がこのメソッドで割り当てられても変わりません。getComponents
、クラス: ColorModel
pixel
- 整数で指定されるピクセル値。components
- 標準化されていない色成分またはアルファ成分を格納する整数型の配列。components
配列が null の場合は、新しい配列が割り当てられる。offset
- components
配列へのオフセット。IllegalArgumentException
- この ColorModel
に 2 つ以上の成分がある場合。IllegalArgumentException
- この ColorModel
が非標準化形式をサポートしない場合ArrayIndexOutOfBoundsException
- components
配列が null でない場合に、オフセットを起点にすべての色成分およびアルファ成分を格納するのに十分な大きさでない場合。public int[] getComponents(Object pixel, int[] components, int offset)
ColorModel
でピクセルを指定して、標準化されていない色成分とアルファ成分の配列を返します。pixel 値は、オブジェクト参照として渡された transferType
型のデータ要素からなる配列によって指定されます。この ColorModel
の成分値が非標準化形式で表現できない場合は、IllegalArgumentException がスローされます。色成分とアルファ成分は、offset
から始まる components
配列に格納されます。これは、配列がこのメソッドで割り当てられても変わりません。ComponentColorModel
はサブクラス化できるため、サブクラスはこのメソッドの実装を継承しますが、サブクラスがその実装をオーバーライドせず、しかもサポートされていない transferType
を使用した場合、このメソッドは例外をスローすることがあります。getComponents
、クラス: ColorModel
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 でなく、オフセットを起点にすべての色成分およびアルファ成分を格納するのに十分な大きさでない場合。または pixel
がこの ColorModel のピクセル値を保持するのに十分な大きさでない場合。public int[] getUnnormalizedComponents(float[] normComponents, int normOffset, int[] components, int offset)
ColorModel
の ColorSpace
オブジェクトによって指定された成分ごとの最小と最大の間の float 値です。この ColorModel
の色成分値が非標準化形式で表現できない場合は、IllegalArgumentException
がスローされます。components
の配列が null
の場合は、新しい配列が割り当てられます。components
配列が返されます。色成分とアルファ成分は、offset
から始まる components
配列に格納されます。これは、配列がこのメソッドで割り当てられても変わりません。components
配列が null
でない場合に、(offset
を起点に) すべての色成分およびアルファ成分を保持するのに十分な大きさでないときは、ArrayIndexOutOfBoundsException
がスローされます。normComponents
配列が normOffset
を起点にすべての色成分とアルファ成分を保持するのに十分な大きさでない場合は、IllegalArgumentException
がスローされます。getUnnormalizedComponents
、クラス: ColorModel
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
オブジェクトによって指定された成分ごとの最小と最大の間の float 値です。この ColorModel
の色成分値が非標準化形式で表現できない場合は、IllegalArgumentException
がスローされます。normComponents
の配列が null
の場合は、新しい配列が割り当てられます。normComponents
配列が返されます。色成分とアルファ成分は、normOffset
から始まる normComponents
配列に格納されます。これは、配列がこのメソッドで割り当てられても変わりません。normComponents
配列が null
でない場合に、(normOffset
を起点に) すべての色成分およびアルファ成分を保持するのに十分な大きさでないときは、ArrayIndexOutOfBoundsException
がスローされます。components
配列が offset
を起点にすべての色成分とアルファ成分を保持するのに十分な大きさでない場合は、IllegalArgumentException
がスローされます。getNormalizedComponents
、クラス: ColorModel
components
- 標準化されていない成分を格納している配列offset
- 標準化されていない成分の取得を開始する、components
配列へのオフセットnormComponents
- 標準化成分を受け取る配列normOffset
- 標準化成分の格納を開始する、normComponents
のインデックスIllegalArgumentException
- この ComponentColorModel
が非標準化形式をサポートしない場合public int getDataElement(int[] components, int offset)
ColorModel
の int として表現されるピクセル値を返します。getDataElement
、クラス: ColorModel
components
- 標準化されていない色成分またはアルファ成分の配列。offset
- components
配列へのオフセット。IllegalArgumentException
- この ColorModel
に 2 つ以上の成分がある場合。IllegalArgumentException
- この ComponentColorModel
が非標準化形式をサポートしない場合public Object getDataElements(int[] components, int offset, Object obj)
ColorModel
のピクセルのデータ要素配列表現を返します。次に、この配列は WritableRaster
オブジェクトの setDataElements
メソッドに渡すことができます。getDataElements
、クラス: ColorModel
components
- 標準化されていない色成分またはアルファ成分の配列。offset
- components
配列内の int オフセット。obj
- ピクセルのデータ要素配列表現を格納するオブジェクト。obj
変数が null の場合は、新しい配列が割り当てられる。obj
が null でない場合は、transferType
型のプリミティブ配列でなければならない。obj
がこの ColorModel
のピクセル値を保持するのに十分な大きさでない場合は、ArrayIndexOutOfBoundsException
がスローされます。ComponentColorModel
はサブクラス化できるため、サブクラスはこのメソッドの実装を継承します。サブクラスがオーバーライドしない場合、サポートされていない transferType
を使用した場合は例外をスローします。ColorModel
のピクセルのデータ要素配列表現。IllegalArgumentException
- components 配列がオフセットを起点にすべての色成分およびアルファ成分を格納するのに十分な大きさでない場合。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
がスローされます。getDataElement
、クラス: ColorModel
normComponents
- 標準化された色成分およびアルファ成分の配列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
がスローされます。getDataElements
、クラス: ColorModel
normComponents
- 標準化された色成分およびアルファ成分の配列normOffset
- 色成分およびアルファ成分の取得を開始する、normComponents
のインデックスobj
- 返されたピクセルを保持するプリミティブデータ配列Object
ClassCastException
- obj
が transferType
型のプリミティブ配列でない場合ArrayIndexOutOfBoundsException
- obj
がこの ColorModel
のピクセル値を保持するのに十分な大きさでない場合、あるいは normComponents
配列が、normOffset
を開始点にして、すべての色成分およびアルファ成分を保持するのに十分な大きさでない場合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)
ColorModel
の指定されたピクセルについて、標準化形式で色成分とアルファ成分の配列を返します。pixel 値は、オブジェクト参照として渡された transferType 型のデータ要素からなる配列によって指定されます。pixel が transferType 型のプリミティブ配列でない場合は、ClassCastException
がスローされます。pixel
がこの ColorModel
のピクセル値を保持するのに十分な大きさでない場合は、ArrayIndexOutOfBoundsException
がスローされます。標準化成分は、この ColorModel
の ColorSpace
オブジェクトによって指定された成分ごとの最小と最大の間の float 値です。normComponents
の配列が null
の場合は、新しい配列が割り当てられます。normComponents
配列が返されます。色成分とアルファ成分は、normOffset
から始まる normComponents
配列に格納されます。これは、配列がこのメソッドで割り当てられても変わりません。normComponents
配列が null
でない場合に、(normOffset
を起点に) すべての色成分およびアルファ成分を保持するのに十分な大きさでないときは、ArrayIndexOutOfBoundsException
がスローされます。
サブクラスがデフォルトとは異なる方法でピクセルサンプル値を色成分値へ変換するよう設計されている場合は、このメソッドをサブクラスでオーバーライドする必要があります。このクラスにより実装されるデフォルトの変換は、クラスのコメントに記述されています。デフォルトではない変換を実装するサブクラスは、このコメントに定義された許容変換の制約に従う必要があります。
getNormalizedComponents
、クラス: ColorModel
pixel
- 指定されたピクセルnormComponents
- 標準化成分を受け取る配列normOffset
- 標準化成分の格納を開始する、normComponents
配列へのオフセットClassCastException
- pixel
が transferType 型のプリミティブ配列でない場合ArrayIndexOutOfBoundsException
- normComponents
が normOffset
を起点にすべての色成分とアルファ成分を保持するのに十分な大きさでない場合ArrayIndexOutOfBoundsException
- pixel
がこの ColorModel
のピクセル値を保持するのに十分な大きさでない場合。public ColorModel coerceData(WritableRaster raster, boolean isAlphaPremultiplied)
isAlphaPremultiplied
変数で指定された状態と一致するようにします。このとき、データはこの ColorModel
によって現在正しく記述されていると見なされます。このメソッドは、カラーラスタデータをアルファで乗算または除算します。データが正しい状態にある場合には、処理は行いません。データが強制的に型変換される必要がある場合、このメソッドは isAlphaPremultiplied
フラグを正しく設定した、この ColorModel
のインスタンスも返します。ColorModel
はサブクラス化できるため、サブクラスはこのメソッドの実装を継承します。サブクラスがオーバーライドしない場合、サポートされていない transferType
を使用した場合は例外をスローします。coerceData
、クラス: ColorModel
raster
- 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 を返します。isCompatibleRaster
、クラス: ColorModel
raster
- 互換性を判定する Raster
オブジェクト。raster
がこの ColorModel
と互換性がある場合は true
、そうでない場合は false
。public WritableRaster createCompatibleWritableRaster(int w, int h)
ColorModel
と互換性のあるデータレイアウト (SampleModel
) を持つ、指定された幅と高さの WritableRaster
を作成します。createCompatibleWritableRaster
、クラス: ColorModel
w
- 生成する WritableRaster
の幅。h
- 生成する WritableRaster
の高さ。ColorModel
と互換性のある WritableRaster
。WritableRaster
、SampleModel
public SampleModel createCompatibleSampleModel(int w, int h)
ColorModel
と互換性のあるデータレイアウトを持つ、指定された幅と高さの SampleModel
を作成します。createCompatibleSampleModel
、クラス: ColorModel
w
- 生成する SampleModel
の幅。h
- 生成する SampleModel
の高さ。ColorModel
と互換性のある SampleModel
。SampleModel
public boolean isCompatibleSampleModel(SampleModel sm)
SampleModel
がこの ColorModel
と互換性があるかどうかを判定します。isCompatibleSampleModel
、クラス: ColorModel
sm
- 互換性を判定する SampleModel
。SampleModel
がこの ColorModel
と互換性がある場合は true
、そうでない場合は false
。SampleModel
public WritableRaster getAlphaRaster(WritableRaster raster)
Raster
を、入力された Raster
から抽出して返します。このメソッドは、この ColorModel
に関連した Raster
オブジェクトにアルファバンドがあれば、そのアルファバンドをイメージデータの最終バンドとして格納していると見なします。この ColorModel
に関連した空間アルファチャネルがほかにない場合は、null を返します。このメソッドは新しい Raster
を作成しますが、データ配列は共有することになります。getAlphaRaster
、クラス: ColorModel
raster
- アルファチャネルを抽出する WritableRaster
。WritableRaster
。public boolean equals(Object obj)
equals
、クラス: ColorModel
obj
- このカラーモデルと比較するオブジェクト。true
、そうでない場合は false
。Object.hashCode()
、HashMap
バグまたは機能を送信
詳細な API リファレンスおよび開発者ドキュメントについては、Java SE のドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.