public abstract class ColorModel extends Object implements Transparency
ColorModel
抽象クラスは、ピクセル値を色成分 (赤、緑、青など) およびアルファ成分に変換するメソッドをカプセル化します。イメージをスクリーン、プリンタ、またはほかのイメージに描画するには、ピクセル値を色成分およびアルファ成分に変換する必要があります。このクラスのメソッドの引数または戻り値として、ピクセルは 32 ビット int またはプリミティブ型の配列として表されます。ColorModel
の色成分の数、順序、および解釈は、ColorSpace
で指定します。アルファ情報を持たないピクセルデータとともに使用される ColorModel
は、すべてのピクセルを不透明 (アルファ値 1.0) として処理します。
この ColorModel
クラスでは、ピクセル値の 2 つの表現をサポートします。ピクセル値は、単一の 32 ビット int またはプリミティブ型の配列として表すことができます。Java(TM) Platform 1.0 および 1.1 API では、ピクセルは単一の byte
値または単一の int
値で表現されました。ColorModel
クラスでは、ピクセル値引数は int として渡されました。Java(TM) 2 Platform API では、イメージを表すための新しいクラスが導入されました。Raster
クラスおよび SampleModel
クラスに基づく BufferedImage
オブジェクトまたは RenderedImage
オブジェクトの場合、ピクセル値は単一の int としては表現できません。このため、現在、ColorModel
にはプリミティブ型の配列として表示されたピクセル値を受け入れるメソッドがあります。特定の ColorModel
オブジェクトによって使用されるプリミティブ型は、転送型と呼ばれます。
ピクセル値を単一の int として表現できないイメージとともに使用される ColorModel
オブジェクトは、単一の int ピクセル引数をとるメソッドが呼び出されると IllegalArgumentException
をスローします。ColorModel
のサブクラスでは、この例外が発生する条件を指定する必要があります。DirectColorModel
オブジェクトや IndexColorModel
オブジェクトでは、この例外は発生しません。
現在 Java 2D(TM) API でサポートされている転送型は、DataBuffer.TYPE_BYTE、DataBuffer.TYPE_USHORT、DataBuffer.TYPE_INT、DataBuffer.TYPE_SHORT、DataBuffer.TYPE_FLOAT、および DataBuffer.TYPE_DOUBLE です。転送型の初めの 3 つに基づく ColorModel とイメージを使用すると、ほとんどの描画操作がより速く実行されます。また、残りの 3 つの転送型に基づく ColorModel とイメージについては、イメージのフィルタ操作のうちのいくつかがサポートされていません。特定の ColorModel
オブジェクトの転送型は、オブジェクトが生成されるときに明示的にまたはデフォルトで指定されます。ColorModel
の各サブクラスでは、利用可能な転送型がいずれか、およびピクセルを表すプリミティブ配列の要素数がどのように決められるかを指定する必要があります。
BufferedImages
の場合、Raster
および Raster
オブジェクトの SampleModel
の転送型 (それらのクラスの getTransferType
メソッドを介して取得できる) は、ColorModel
の転送型と一致する必要があります。Raster
および SampleModel
のピクセルを表す配列の要素数 (それらのクラスの getNumDataElements
メソッドを介して取得できる) は、ColorModel
と一致する必要があります。
ピクセル値から色成分およびアルファ成分への変換に使用するアルゴリズムは、サブクラスによって異なります。たとえば、BufferedImage
オブジェクトの Raster
の SampleModel
によって得られるサンプルと色成分およびアルファ成分の間は 1 対 1 で対応していなくてもかまいません。1 対 1 の対応がある場合でも、サンプルのビット数は、対応する色成分およびアルファ成分のビット数と同じでなくてもかまいません。各サブクラスでは、ピクセル値から色成分およびアルファ成分への変換がどのように行われるかを指定する必要があります。
ColorModel
クラスのメソッドは、色成分およびアルファ成分の 2 つの異なる表現である標準化形式と非標準化形式を使用します。標準化形式では、各成分は最小値と最大値の間の float
値です。アルファ成分では、最小値は 0.0、最大値は 1.0 です。色成分では、各成分の最小値と最大値は ColorSpace
オブジェクトから取得でき、値は通常 0.0 と 1.0 (デフォルトの sRGB カラー領域にある標準化成分の値の範囲は 0.0 - 1.0、など) ですが、これと異なる上限と下限の成分値を持つカラー領域もあります。これらの限界値は ColorSpace
クラスの getMinValue
メソッドおよび getMaxValue
メソッドを使用して取得できます。標準化色成分値はあらかじめ乗算されません。すべての ColorModels
は標準化形式をサポートする必要があります。
非標準化形式では、各成分は 0 と 2n - 1 の間の符号なし整数値です。n は、特定の成分の有効ビットの数です。特定の ColorModel
のピクセル値がアルファサンプルであらかじめ乗算されているカラーサンプルを表す場合、非標準化色成分も同じようにあらかじめ乗算されます。非標準化形式は、ColorSpace
がすべての成分に対して最小成分値が 0.0、最大成分値が 1.0 である ColorModel
のインスタンスのみとともに使用されます。非標準化形式の色成分とアルファ成分は、標準化成分値がすべて 0.0 と 1.0 の間にある ColorModels
を表すことができます。このような場合、整数値 0 は 0.0 にマップされ、値 2n -1 は 1.0 にマップされます。これ以外の、たとえば標準化成分値が正または負の場合は、非標準化形式は適切ではありません。このような ColorModel
オブジェクトは、非標準化引数を含むメソッドが呼び出されると IllegalArgumentException
をスローします。ColorModel
のサブクラスでは、この例外が発生する条件を指定する必要があります。
修飾子と型 | フィールドと説明 |
---|---|
protected int |
pixel_bits
ピクセルの総ビット数です。
|
protected int |
transferType
ピクセル値の表現に使用される配列のデータ型です。
|
BITMASK, OPAQUE, TRANSLUCENT
修飾子 | コンストラクタと説明 |
---|---|
|
ColorModel(int bits)
指定されたビット数のピクセルを色成分およびアルファ成分に変換する
ColorModel を構築します。 |
protected |
ColorModel(int pixel_bits, int[] bits, ColorSpace cspace, boolean hasAlpha, boolean isAlphaPremultiplied, int transparency, int transferType)
ピクセル値を色成分およびアルファ成分に変換する
ColorModel を構築します。 |
修飾子と型 | メソッドと説明 |
---|---|
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)
指定された
Object が ColorModel のインスタンスで、この ColorModel と等しいかどうかを判定します。 |
void |
finalize()
この
ColorModel が参照されなくなったときに、この ColorModel に関連付けられたシステムリソースを破棄します。 |
abstract int |
getAlpha(int pixel)
指定されたピクセルのアルファ成分を 0 - 255 の範囲でスケーリングして返します。
|
int |
getAlpha(Object inData)
指定されたピクセルのアルファ成分を 0 - 255 の範囲でスケーリングして返します。
|
WritableRaster |
getAlphaRaster(WritableRaster raster)
この
ColorModel のピクセル値が別々の空間バンドとして色情報およびアルファ情報を表す場合に、入力 Raster から抽出された、イメージのアルファチャネルを表す Raster を返します。 |
abstract int |
getBlue(int pixel)
指定されたピクセルの青の色成分を、デフォルトの RGB ColorSpace、つまり sRGB の 0 - 255 の範囲でスケーリングして返します。
|
int |
getBlue(Object inData)
指定されたピクセルの青の色成分を、デフォルトの RGB
ColorSpace 、つまり sRGB の 0 - 255 の範囲でスケーリングして返します。 |
ColorSpace |
getColorSpace()
この
ColorModel に関連付けられた ColorSpace を返します。 |
int[] |
getComponents(int pixel, int[] components, int offset)
この
ColorModel でピクセルを指定して、標準化されていない色成分とアルファ成分の配列を返します。 |
int[] |
getComponents(Object pixel, int[] components, int offset)
この
ColorModel でピクセルを指定して、標準化されていない色成分とアルファ成分の配列を返します。 |
int[] |
getComponentSize()
色成分およびアルファ成分ごとのビット数の配列を返します。
|
int |
getComponentSize(int componentIdx)
指定された色成分およびアルファ成分のビット数を返します。
|
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 のピクセルのデータ要素配列表現を返します。 |
abstract 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 |
getNumColorComponents()
この
ColorModel の色成分数を返します。 |
int |
getNumComponents()
この
ColorModel の成分 (アルファを含む) の数を返します。 |
int |
getPixelSize()
この
ColorModel によって記述されるピクセルごとのビット数を返します。 |
abstract 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 カラーモデル形式で返します。
|
static ColorModel |
getRGBdefault()
プログラマのために、AWT イメージインタフェースの多くのメソッドで使用される整数型 RGB 値のデフォルト形式を記述する
DirectColorModel を返します。 |
int |
getTransferType()
この
ColorModel の転送型を返します。 |
int |
getTransparency()
透明度を返します。
|
int[] |
getUnnormalizedComponents(float[] normComponents, int normOffset, int[] components, int offset)
標準化成分配列を指定して、非標準化形式ですべての色成分およびアルファ成分の配列を返します。
|
boolean |
hasAlpha()
アルファがこの
ColorModel でサポートされているかどうかを返します。 |
int |
hashCode()
この ColorModel のハッシュコードを返します。
|
boolean |
isAlphaPremultiplied()
この
ColorModel で変換されるピクセル値でアルファがあらかじめ乗算されているかどうかを返します。 |
boolean |
isCompatibleRaster(Raster raster)
raster がこの ColorModel と互換性がある場合には true を返し、そうでない場合には false を返します。 |
boolean |
isCompatibleSampleModel(SampleModel sm)
SampleModel がこの ColorModel と互換性があるかどうかを判定します。 |
String |
toString()
この
ColorModel オブジェクトの内容を表す String を返します。 |
protected int pixel_bits
protected int transferType
public ColorModel(int bits)
ColorModel
を構築します。カラースペースはデフォルトの RGB ColorSpace
(sRGB) です。ピクセル値には、アルファ情報が含まれていると見なされます。色およびアルファの情報が別々の空間バンドとしてピクセル値で表される場合、カラーバンドにはアルファ値があらかじめ乗算されていません。透明度型は、java.awt.Transparency.TRANSLUCENT です。転送型は、単一ピクセルを保持することができる DataBuffer.TYPE_BYTE、DataBuffer.TYPE_USHORT、または DataBuffer.TYPE_INT の最小値です (ビットが 32 より大きい場合は DataBuffer.TYPE_UNDEFINED)。このコンストラクタは色成分およびアルファ成分ごとのビット数に関する情報を持たないので、このコンストラクタを呼び出すサブクラスは、この情報を必要とするメソッドをオーバーライドします。bits
- ピクセルのビット数IllegalArgumentException
- bits
のビット数が 1 より小さい場合protected ColorModel(int pixel_bits, int[] bits, ColorSpace cspace, boolean hasAlpha, boolean isAlphaPremultiplied, int transparency, int transferType)
ColorModel
を構築します。色成分は、指定された ColorSpace
にあります。pixel_bits
は、ピクセル値のビット数です。bits 配列は、色成分およびアルファ成分ごとの有効ビット数を指定します。その長さは、ピクセル値にアルファ情報がない場合には ColorSpace
の成分数、アルファ情報がある場合にはこの数字に 1 を加算します。hasAlpha
は、アルファ情報が存在するかどうかを示します。boolean
型の isAlphaPremultiplied
は、色情報およびアルファ情報が別々の空間バンドとして表されるピクセル値を解釈する方法を指定します。boolean
が true
の場合は、カラーサンプルはアルファサンプルと乗算されたと見なされます。transparency
は、このカラーモデルで表現できるアルファ値を指定します。転送タイプは、ピクセル値を表現するために使うプリミティブ配列の型です。ビット配列は、ピクセル値からの変換後の色成分およびアルファ成分ごとの有効ビット数を格納します。たとえば、pixel_bits
が 16 の IndexColorModel
の場合、ビット配列は各要素が 8 に設定されている 4 つの要素を持ちます。pixel_bits
- ピクセル値のビット数bits
- 色成分およびアルファ成分ごとの有効ビット数を指定する配列cspace
- 指定されたColorSpace
hasAlpha
- アルファ情報が存在する場合は true
、そうでない場合は false
isAlphaPremultiplied
- カラーサンプルがアルファサンプルによってあらかじめ乗算されていると見なされる場合は true
、そうでない場合は false
transparency
- このカラーモデルで表すことができるアルファ値transferType
- ピクセル値の表現に使用される配列の型IllegalArgumentException
- ビット配列の長さがこの ColorModel
の色成分またはアルファ成分の数より小さい場合、または透明度が有効な値でない場合。IllegalArgumentException
- bits
のビット数の合計が 1 より小さい場合、または bits
の要素が 0 より小さい場合。Transparency
public static ColorModel getRGBdefault()
DirectColorModel
を返します。カラースペースは、デフォルトの ColorSpace
(sRGB) です。RGB 値の形式は、0xAARRGGBB のように、最上位バイトから最下位バイトまで、アルファ、赤、緑、および青の各成分をこの順に並べた、それぞれ 8 ビットの整数です。色成分は、アルファ成分によってあらかじめ乗算されません。この形式は、特定のデバイスまたはすべてのイメージのネイティブまたはもっとも効率的な ColorModel
を必ずしも表しません。共通のカラーモデル形式として使用されます。DirectColorModel
オブジェクト。public final boolean hasAlpha()
ColorModel
でサポートされているかどうかを返します。ColorModel
でアルファがサポートされている場合は true
、そうでない場合は false
。public final boolean isAlphaPremultiplied()
ColorModel
で変換されるピクセル値でアルファがあらかじめ乗算されているかどうかを返します。boolean が true
の場合、この ColorModel
は色情報およびアルファ情報が別々の空間バンドとして表されるピクセル値を解釈するために使用され、カラーサンプルはアルファサンプルによって乗算されたと見なされます。ColorModel
で変換されるピクセル値でアルファ値があらかじめ乗算されている場合は true
、そうでない場合は false
。public final int getTransferType()
ColorModel
の転送型を返します。転送型は、ピクセル値を配列として表すのに使われるプリミティブ配列の型です。public int getPixelSize()
ColorModel
によって記述されるピクセルごとのビット数を返します。public int getComponentSize(int componentIdx)
ColorSpace
で指定された順序でインデックスが付けられます。通常、この順序はカラースペースの型の名前を反映します。たとえば、TYPE_RGB の場合、インデックス 0 は赤、インデックス 1 は緑、インデックス 2 は青に対応します。この ColorModel
がアルファをサポートする場合、アルファ成分は最後に指定された色成分のあとのインデックスに対応します。componentIdx
- 色成分およびアルファ成分のインデックスArrayIndexOutOfBoundsException
- componentIdx
が成分の数より大きいか、0 より小さい場合NullPointerException
- ビット配列の数が null
の場合public int[] getComponentSize()
ColorSpace
で指定された順序で色成分を格納し、アルファ成分がある場合は、次にアルファ成分が続きます。public int getTransparency()
getTransparency
、インタフェース: Transparency
ColorModel
の透明度。Transparency.OPAQUE
, Transparency.BITMASK
, Transparency.TRANSLUCENT
public int getNumComponents()
ColorModel
の成分 (アルファを含む) の数を返します。これは、色成分の数 (アルファ成分がある場合は 1 を加算) と等しくなります。ColorModel
の成分数public int getNumColorComponents()
ColorModel
の色成分数を返します。これは、ColorSpace.getNumComponents()
によって返された成分数です。ColorModel
の色成分数。ColorSpace.getNumComponents()
public abstract int getRed(int pixel)
ColorModel
のピクセル値が単一の int として表現できない場合は IllegalArgumentException
がスローされます。戻り値はあらかじめ乗算されていない値になります。たとえば、アルファがあらかじめ乗算されている場合、このメソッドは値を返す前にそれを除算します。アルファ値が 0 の場合、赤の値は 0 になります。pixel
- 指定されたピクセルpublic abstract int getGreen(int pixel)
ColorModel
のピクセル値が単一の int として表現できない場合は IllegalArgumentException
がスローされます。戻り値は、あらかじめ乗算されていない値になります。たとえば、アルファがあらかじめ乗算されている場合、このメソッドは値を返す前にそれを除算します。アルファ値が 0 の場合、緑の値は 0 になります。pixel
- 指定されたピクセルpublic abstract int getBlue(int pixel)
ColorModel
のピクセル値が単一の int として表現できない場合は IllegalArgumentException
がスローされます。戻り値は、あらかじめ乗算されていない値になります。たとえば、アルファがあらかじめ乗算されている場合、このメソッドは値を返す前にそれを除算します。アルファ値が 0 の場合、青の値は 0 になります。pixel
- 指定されたピクセルpublic abstract int getAlpha(int pixel)
ColorModel
のピクセル値が単一の int として表現できない場合は IllegalArgumentException
がスローされます。pixel
- 指定されたピクセルpublic int getRGB(int pixel)
ColorModel
のピクセル値が単一の int として表現できない場合は IllegalArgumentException
がスローされます。戻り値は、あらかじめ乗算されていない形式になります。たとえば、アルファがあらかじめ乗算されている場合、このメソッドはそれを色成分で除算します。アルファ値が 0 の場合、色の値は 0 になります。pixel
- 指定されたピクセルgetRGBdefault()
public int getRed(Object inData)
ColorSpace
、つまり sRGB の 0 - 255 の範囲でスケーリングして返します。必要な場合、色変換が行われます。pixel 値は、オブジェクト参照として渡された transferType 型のデータ要素からなる配列によって指定されます。戻り値は、あらかじめ乗算されていない値になります。たとえば、アルファがあらかじめ乗算されている場合、このメソッドは値を返す前にそれを除算します。アルファ値が 0 の場合、赤の値は 0 になります。inData
が transferType 型のプリミティブ配列でない場合は、ClassCastException
がスローされます。inData
がこの ColorModel
のピクセル値を保持するのに十分な大きさでない場合は、ArrayIndexOutOfBoundsException
がスローされます。この transferType
がサポートされていない場合は、UnsupportedOperationException
がスローされます。ColorModel
は抽象クラスなので、どのインスタンスもサブクラスのインスタンスである必要があります。サブクラスはこのメソッドの実装を継承します。サブクラスがその実装をオーバーライドしない場合、サブクラスが DataBuffer.TYPE_BYTE
、DataBuffer.TYPE_USHORT
、または DataBuffer.TYPE_INT
以外の transferType
を使用すると、このメソッドは例外をスローします。inData
- ピクセル値の配列ClassCastException
- inData
が transferType
型のプリミティブ配列でない場合ArrayIndexOutOfBoundsException
- inData
がこの ColorModel
のピクセル値を保持するのに十分な大きさでない場合UnsupportedOperationException
- この ColorModel
でこの tranferType
がサポートされていない場合public int getGreen(Object inData)
ColorSpace
、つまり sRGB の 0 - 255 の範囲でスケーリングして返します。必要な場合、色変換が行われます。pixel 値は、オブジェクト参照として渡された transferType 型のデータ要素からなる配列によって指定されます。戻り値は、あらかじめ乗算されていない値です。たとえば、アルファがあらかじめ乗算されている場合、このメソッドは値を返す前にそれを除算します。アルファ値が 0 の場合、緑の値は 0 になります。inData
が transferType 型のプリミティブ配列でない場合は、ClassCastException
がスローされます。inData
がこの ColorModel
のピクセル値を保持するのに十分な大きさでない場合は、ArrayIndexOutOfBoundsException
がスローされます。この transferType
がサポートされていない場合は、UnsupportedOperationException
がスローされます。ColorModel
は抽象クラスなので、どのインスタンスもサブクラスのインスタンスである必要があります。サブクラスはこのメソッドの実装を継承します。サブクラスがその実装をオーバーライドしない場合、サブクラスが DataBuffer.TYPE_BYTE
、DataBuffer.TYPE_USHORT
、または DataBuffer.TYPE_INT
以外の transferType
を使用すると、このメソッドは例外をスローします。inData
- ピクセル値の配列ClassCastException
- inData
が transferType
型のプリミティブ配列でない場合ArrayIndexOutOfBoundsException
- inData
がこの ColorModel
のピクセル値を保持するのに十分な大きさでない場合UnsupportedOperationException
- この ColorModel
でこの tranferType
がサポートされていない場合public int getBlue(Object inData)
ColorSpace
、つまり sRGB の 0 - 255 の範囲でスケーリングして返します。必要な場合、色変換が行われます。pixel 値は、オブジェクト参照として渡された transferType 型のデータ要素からなる配列によって指定されます。戻り値は、あらかじめ乗算されていない値になります。たとえば、アルファがあらかじめ乗算されている場合、このメソッドは値を返す前にそれを除算します。アルファ値が 0 の場合、青の値は 0 になります。inData
が transferType 型のプリミティブ配列でない場合は、ClassCastException
がスローされます。inData
がこの ColorModel
のピクセル値を保持するのに十分な大きさでない場合は、ArrayIndexOutOfBoundsException
がスローされます。この transferType
がサポートされていない場合は、UnsupportedOperationException
がスローされます。ColorModel
は抽象クラスなので、どのインスタンスもサブクラスのインスタンスである必要があります。サブクラスはこのメソッドの実装を継承します。サブクラスがその実装をオーバーライドしない場合、サブクラスが DataBuffer.TYPE_BYTE
、DataBuffer.TYPE_USHORT
、または DataBuffer.TYPE_INT
以外の transferType
を使用すると、このメソッドは例外をスローします。inData
- ピクセル値の配列ClassCastException
- inData
が transferType
型のプリミティブ配列でない場合ArrayIndexOutOfBoundsException
- inData
がこの ColorModel
のピクセル値を保持するのに十分な大きさでない場合UnsupportedOperationException
- この ColorModel
でこの tranferType
がサポートされていない場合public int getAlpha(Object inData)
ClassCastException
がスローされます。inData
がこの ColorModel
のピクセル値を保持するのに十分な大きさでない場合は、ArrayIndexOutOfBoundsException
がスローされます。この transferType
がサポートされていない場合は、UnsupportedOperationException
がスローされます。ColorModel
は抽象クラスなので、どのインスタンスもサブクラスのインスタンスである必要があります。サブクラスはこのメソッドの実装を継承します。サブクラスがその実装をオーバーライドしない場合、サブクラスが DataBuffer.TYPE_BYTE
、DataBuffer.TYPE_USHORT
、または DataBuffer.TYPE_INT
以外の transferType
を使用すると、このメソッドは例外をスローします。inData
- 指定されたピクセルClassCastException
- inData
が transferType
型のプリミティブ配列でない場合ArrayIndexOutOfBoundsException
- inData
がこの ColorModel
のピクセル値を保持するのに十分な大きさでない場合UnsupportedOperationException
- この ColorModel
でこの tranferType
がサポートされていない場合public int getRGB(Object inData)
ClassCastException
がスローされます。inData
がこの ColorModel
のピクセル値を保持するのに十分な大きさでない場合は、ArrayIndexOutOfBoundsException
がスローされます。戻り値は、あらかじめ乗算されていない値です。つまり、アルファがあらかじめ乗算されている場合、このメソッドは色成分でそれを除算します。アルファ値が 0 の場合、色の値は 0 になります。inData
- 指定されたピクセルgetRGBdefault()
public Object getDataElements(int rgb, Object pixel)
ColorModel
のピクセルのデータ要素配列表現を返します。次に、この配列は WritableRaster
オブジェクトの WritableRaster.setDataElements(int, int, java.lang.Object)
メソッドに渡すことができます。pixel 変数が null
の場合は、新しい配列が割り当てられます。pixel
が null
でない場合、transferType
型のプリミティブ配列でなければならず、そうでない場合は ClassCastException
がスローされます。pixel
がこの ColorModel
のピクセル値を保持するのに十分な大きさでない場合は、ArrayIndexOutOfBoundsException
がスローされます。ピクセル配列が返されます。この transferType
がサポートされていない場合は、UnsupportedOperationException
がスローされます。ColorModel
は抽象クラスなので、どのインスタンスもサブクラスのインスタンスになります。この抽象クラスの実装は UnsupportedOperationException
をスローするので、サブクラスはこのメソッドをオーバーライドする必要があります。rgb
- デフォルト RGB カラーモデルの整数型ピクセル表現pixel
- 指定されたピクセルColorModel
の指定されたピクセルの配列表現。ClassCastException
- pixel
が transferType
型のプリミティブ配列でない場合ArrayIndexOutOfBoundsException
- pixel
がこの ColorModel
のピクセル値を保持するのに十分な大きさでない場合UnsupportedOperationException
- この ColorModel
でこのメソッドがサポートされていない場合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
でピクセルを指定して、標準化されていない色成分とアルファ成分の配列を返します。ピクセル値は int
として指定されます。この ColorModel
のピクセル値が単一の int
として表現できない場合、またはこの ColorModel
の色成分値が非標準化形式で表現できない場合は、IllegalArgumentException
がスローされます。たとえば、このメソッドは、DirectColorModel
の特定のピクセル値の成分を取り出すために使用できます。components 配列が null
の場合は、新しい配列が割り当てられます。components 配列が返されます。色成分およびアルファ成分は、offset
を起点に components 配列に格納されます。配列がこのメソッドで割り当てられている場合も同様です。components 配列が null
でなく、offset を起点にした場合に、色成分とアルファ成分のすべてを保持するのに十分な大きさでない場合は、ArrayIndexOutOfBoundsException
がスローされます。ColorModel
は抽象クラスなので、どのインスタンスもサブクラスのインスタンスになります。この抽象クラスの実装は UnsupportedOperationException
をスローするので、サブクラスはこのメソッドをオーバーライドする必要があります。pixel
- 指定されたピクセルcomponents
- 指定されたピクセルの色成分およびアルファ成分を受け取る配列offset
- 色成分およびアルファ成分の格納を開始する、components
配列へのオフセットUnsupportedOperationException
- この ColorModel
でこのメソッドがサポートされていない場合public int[] getComponents(Object pixel, int[] components, int offset)
ColorModel
でピクセルを指定して、標準化されていない色成分とアルファ成分の配列を返します。pixel 値は、オブジェクト参照として渡された transferType 型のデータ要素からなる配列によって指定されます。pixel
が transferType 型のプリミティブ配列でない場合は、ClassCastException
がスローされます。この ColorModel
の色成分値が非標準化形式で表現できない場合は、IllegalArgumentException
がスローされます。pixel
がこの ColorModel
のピクセル値を保持するのに十分な大きさでない場合は、ArrayIndexOutOfBoundsException
がスローされます。このメソッドは、任意の ColorModel
の特定のピクセル値の成分を取り出すために使用できます。components 配列が null
の場合は、新しい配列が割り当てられます。components 配列が返されます。色成分とアルファ成分は、offset
から始まる components
配列に格納されます。これは、配列がこのメソッドで割り当てられても変わりません。components 配列が null
でなく、offset
を起点にした場合に、色成分とアルファ成分のすべてを保持するのに十分な大きさでない場合は、ArrayIndexOutOfBoundsException
がスローされます。ColorModel
は抽象クラスなので、どのインスタンスもサブクラスのインスタンスになります。この抽象クラスの実装は UnsupportedOperationException
をスローするので、サブクラスはこのメソッドをオーバーライドする必要があります。pixel
- 指定されたピクセルcomponents
- 指定されたピクセルの色成分およびアルファ成分を受け取る配列offset
- 指定されたピクセルの色成分およびアルファ成分の格納を開始する、components
配列へのインデックスUnsupportedOperationException
- この 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
がスローされます。normComponents
- 標準化成分を格納している配列normOffset
- 標準化成分の取得を開始する、normComponents
配列へのオフセットcomponents
- normComponents
から成分を受け取る配列offset
- normComponents
から標準化成分の格納を開始する、components
のインデックスIllegalArgumentException
- この ColorModel
の成分値が非標準化形式で表現できない場合。IllegalArgumentException
- normComponents
の長さマイナス normOffset
が、numComponents
より小さい場合UnsupportedOperationException
- この ColorModel
のコンストラクタが super(bits)
コンストラクタを呼び出したが、このメソッドをオーバーライドしなかった場合。コンストラクタ ColorModel(int)
を参照してください。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
がスローされます。
ColorModel
は抽象クラスなので、どのインスタンスもサブクラスのインスタンスになります。この abstract クラスでの、このメソッドのデフォルトの実装は、このクラスの成分値が非標準化形式で表現されると見なします。したがって、非標準化形式をサポートしないインスタンスを持つサブクラスは、このメソッドをオーバーライドする必要があります。
components
- 標準化されていない成分を格納している配列offset
- 標準化されていない成分の取得を開始する、components
配列へのオフセットnormComponents
- 標準化成分を受け取る配列normOffset
- 標準化成分の格納を開始する、normComponents
のインデックスIllegalArgumentException
- この ColorModel
の成分値が非標準化形式で表現できない場合。UnsupportedOperationException
- この ColorModel
のコンストラクタが super(bits)
コンストラクタを呼び出したが、このメソッドをオーバーライドしなかった場合。コンストラクタ ColorModel(int)
を参照してください。UnsupportedOperationException
- このメソッドが成分ごとのビット数を判定できなかった場合public int getDataElement(int[] components, int offset)
ColorModel
の int
として表現されるピクセル値を返します。この ColorModel
の成分値が単一の int
として表現できない場合、またはこの ColorModel
の色成分値が非標準化形式で表現できない場合は、このメソッドは IllegalArgumentException
をスローします。components
配列が offset
を起点にすべての色成分とアルファ成分を保持するのに十分な大きさでない場合は、ArrayIndexOutOfBoundsException
がスローされます。ColorModel
は抽象クラスなので、どのインスタンスもサブクラスのインスタンスになります。この抽象クラスの実装は UnsupportedOperationException
をスローするので、サブクラスはこのメソッドをオーバーライドする必要があります。components
- 標準化されていない色成分およびアルファ成分の配列offset
- 色成分およびアルファ成分の取得を開始する、components
のインデックスColorModel
内の int
ピクセル値。IllegalArgumentException
- この ColorModel
のピクセル値が単一の int
として表現できない場合IllegalArgumentException
- この ColorModel
の成分値が非標準化形式で表現できない場合ArrayIndexOutOfBoundsException
- components
配列が offset
を起点にすべての色成分とアルファ成分を保持するのに十分な大きさでない場合UnsupportedOperationException
- この ColorModel
でこのメソッドがサポートされていない場合public Object getDataElements(int[] components, int offset, Object obj)
ColorModel
のピクセルのデータ要素配列表現を返します。次に、この配列は WritableRaster
オブジェクトの setDataElements
メソッドに渡すことができます。この ColorModel
の色成分値が非標準化形式で表現できない場合、このメソッドは IllegalArgumentException
をスローします。components
配列が offset
を起点にすべての色成分とアルファ成分を保持するのに十分な大きさでない場合は、ArrayIndexOutOfBoundsException
がスローされます。obj
変数が null
の場合は、新しい配列が割り当てられます。obj
が null
でない場合、transferType 型のプリミティブ配列でなければならず、そうでない場合は ClassCastException
がスローされます。obj
がこの ColorModel
のピクセル値を保持するのに十分な大きさでない場合は、ArrayIndexOutOfBoundsException
がスローされます。ColorModel
は抽象クラスなので、どのインスタンスもサブクラスのインスタンスになります。この抽象クラスの実装は UnsupportedOperationException
をスローするので、サブクラスはこのメソッドをオーバーライドする必要があります。components
- 標準化されていない色成分およびアルファ成分の配列offset
- 色成分およびアルファ成分の取得を開始する、components
のインデックスobj
- 色成分およびアルファ成分の配列を表す Object
Object
。ClassCastException
- obj
が transferType
型のプリミティブ配列でない場合ArrayIndexOutOfBoundsException
- obj
がこの ColorModel
のピクセル値を保持するのに十分な大きさでない場合、あるいは components
配列が、offset
を開始点にして、すべての色成分およびアルファ成分を保持するのに十分な大きさでない場合IllegalArgumentException
- この ColorModel
の成分値が非標準化形式で表現できない場合UnsupportedOperationException
- この ColorModel
でこのメソッドがサポートされていない場合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
は抽象クラスなので、どのインスタンスもサブクラスのインスタンスになります。この抽象クラスでの、このメソッドのデフォルトの実装は、標準化形式を非標準化形式に変換してから getDataElement(int[], int)
を呼び出します。非標準化形式をサポートしないインスタンスを持つサブクラスは、このメソッドをオーバーライドする必要があります。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
がスローされます。ColorModel
は抽象クラスなので、どのインスタンスもサブクラスのインスタンスになります。この抽象クラスでの、このメソッドのデフォルトの実装は、標準化形式を非標準化形式に変換してから getDataElement(int[], int, Object)
を呼び出します。非標準化形式をサポートしないインスタンスを持つサブクラスは、このメソッドをオーバーライドする必要があります。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
がスローされます。 ColorModel
は抽象クラスなので、どのインスタンスもサブクラスのインスタンスになります。この abstract クラスでの、このメソッドのデフォルトの実装は、getComponents(Object, int[], int)
を使用して非標準化形式で色成分とアルファ成分を取り出してから getNormalizedComponents(int[], int, float[], int)
を呼び出します。非標準化形式をサポートしないインスタンスを持つサブクラスは、このメソッドをオーバーライドする必要があります。pixel
- 指定されたピクセルnormComponents
- 標準化成分を受け取る配列normOffset
- 標準化成分の格納を開始する、normComponents
配列へのオフセットClassCastException
- pixel
が transferType 型のプリミティブ配列でない場合ArrayIndexOutOfBoundsException
- normComponents
が normOffset
を起点にすべての色成分とアルファ成分を保持するのに十分な大きさでない場合ArrayIndexOutOfBoundsException
- pixel
がこの ColorModel
のピクセル値を保持するのに十分な大きさでない場合。UnsupportedOperationException
- この ColorModel
のコンストラクタが super(bits)
コンストラクタを呼び出したが、このメソッドをオーバーライドしなかった場合。コンストラクタ ColorModel(int)
を参照してください。UnsupportedOperationException
- このメソッドが成分ごとのビット数を判定できなかった場合public boolean equals(Object obj)
Object
が ColorModel
のインスタンスで、この ColorModel
と等しいかどうかを判定します。equals
、クラス: Object
obj
- 等しいかどうかが判定される Object
Object
が ColorModel
のインスタンスで、この ColorModel
に等しい場合は true
、それ以外の場合は false
。Object.hashCode()
、HashMap
public int hashCode()
hashCode
、クラス: Object
Object.equals(java.lang.Object)
, System.identityHashCode(java.lang.Object)
public final ColorSpace getColorSpace()
ColorModel
に関連付けられた ColorSpace
を返します。ColorModel
の ColorSpace
。public ColorModel coerceData(WritableRaster raster, boolean isAlphaPremultiplied)
isAlphaPremultiplied
変数で指定された状態と一致するようにします。このとき、データはこの ColorModel
によって現在正しく記述されていると見なされます。このメソッドは、カラーラスタデータをアルファで乗算または除算します。データが正しい状態にある場合には、処理は行いません。データを強制的に型変換する必要がある場合、このメソッドは isAlphaPremultiplied
フラグを正しく設定した、この ColorModel
のインスタンスも返します。この ColorModel
によってサポートされていない場合、このメソッドは UnsupportedOperationException
をスローします。ColorModel
は抽象クラスなので、どのインスタンスもサブクラスのインスタンスになります。この抽象クラスの実装は UnsupportedOperationException
をスローするので、サブクラスはこのメソッドをオーバーライドする必要があります。raster
- WritableRaster
データisAlphaPremultiplied
- アルファがあらかじめ乗算されている場合は true
、そうでない場合は false
ColorModel
オブジェクト。public boolean isCompatibleRaster(Raster raster)
raster
がこの ColorModel
と互換性がある場合には true
を返し、そうでない場合には false
を返します。ColorModel
は抽象クラスなので、どのインスタンスもサブクラスのインスタンスになります。この抽象クラスの実装は UnsupportedOperationException
をスローするので、サブクラスはこのメソッドをオーバーライドする必要があります。raster
- 互換性を判定する Raster
オブジェクトraster
がこの ColorModel
と互換性がある場合は true
。UnsupportedOperationException
- この ColorModel
でこのメソッドが実装されていない場合public WritableRaster createCompatibleWritableRaster(int w, int h)
ColorModel
と互換性のあるデータレイアウト (SampleModel
) を持つ、指定された幅と高さの WritableRaster
を作成します。ColorModel
は抽象クラスなので、どのインスタンスもサブクラスのインスタンスになります。この抽象クラスの実装は UnsupportedOperationException
をスローするので、サブクラスはこのメソッドをオーバーライドする必要があります。w
- 新しい WritableRaster
に適用される幅h
- 新しい WritableRaster
に適用される高さWritableRaster
オブジェクト。UnsupportedOperationException
- この ColorModel
でこのメソッドがサポートされていない場合WritableRaster
、SampleModel
public SampleModel createCompatibleSampleModel(int w, int h)
ColorModel
と互換性のあるデータレイアウトを持つ、指定された幅と高さの SampleModel
を作成します。ColorModel
は抽象クラスなので、どのインスタンスもサブクラスのインスタンスになります。この抽象クラスの実装は UnsupportedOperationException
をスローするので、サブクラスはこのメソッドをオーバーライドする必要があります。w
- 新しい SampleModel
に適用される幅h
- 新しい SampleModel
に適用される高さSampleModel
オブジェクト。UnsupportedOperationException
- この ColorModel
でこのメソッドがサポートされていない場合SampleModel
public boolean isCompatibleSampleModel(SampleModel sm)
SampleModel
がこの ColorModel
と互換性があるかどうかを判定します。ColorModel
は抽象クラスなので、どのインスタンスもサブクラスのインスタンスになります。この抽象クラスの実装は UnsupportedOperationException
をスローするので、サブクラスはこのメソッドをオーバーライドする必要があります。sm
- 指定された SampleModel
SampleModel
がこの ColorModel
と互換性がある場合は true
、それ以外の場合は false
。UnsupportedOperationException
- この ColorModel
でこのメソッドがサポートされていない場合SampleModel
public void finalize()
ColorModel
が参照されなくなったときに、この ColorModel
に関連付けられたシステムリソースを破棄します。public WritableRaster getAlphaRaster(WritableRaster raster)
ColorModel
のピクセル値が別々の空間バンドとして色情報およびアルファ情報を表す場合 (ComponentColorModel
および DirectColorModel
など) に、入力 Raster
から抽出された、イメージのアルファチャネルを表す Raster
を返します。そのような ColorModel
に関連した Raster
オブジェクトがアルファバンドを持っている場合、このメソッドは、このアルファバンドがイメージデータの最後のバンドとして格納されていると見なします。この ColorModel
に関連した空間アルファチャネルがほかにない場合は、null
を返します。ルックアップテーブルにアルファを持つ IndexColorModel
の場合、このメソッドは null
を返します。これは、空間的に分離したアルファチャネルが存在しないためです。このメソッドは、新しい Raster
を生成します (ただしデータ配列は共有される)。 ColorModel
は抽象クラスなので、どのインスタンスもサブクラスのインスタンスになります。この abstract クラスの実装は null
を返すので、サブクラスはこのメソッドをオーバーライドして null
を返す以外の動作を取得する必要があります。raster
- 指定された Raster
Raster
から取得される、イメージのアルファチャネルを表す Raster
。 バグまたは機能を送信
詳細な API リファレンスおよび開発者ドキュメントについては、Java SE のドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.