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 - 指定されたColorSpacehasAlpha - アルファ情報が存在する場合はtrue、そうでない場合はfalseisAlphaPremultiplied - カラー・サンプルがアルファ・サンプルによってあらかじめ乗算されていると見なされる場合はtrue、そうでない場合はfalsetransparency - このカラー・モデルで表すことができるアルファ値transferType - ピクセル値の表現に使用される配列の型IllegalArgumentException - ビット配列の長さがこのColorModelの色成分またはアルファ成分の数より小さい場合、または透明度が有効な値でない場合。IllegalArgumentException - bitsのビット数の合計が1より小さい場合、またはbitsの要素が0より小さい場合。Transparencypublic 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、インタフェースTransparencyColorModelの透明度。Transparency.OPAQUE, Transparency.BITMASK, Transparency.TRANSLUCENTpublic 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は抽象クラスなので、どのインスタンスもサブクラスのインスタンスになります。 この抽象クラスでの、このメソッドのデフォルトの実装は、このクラスの成分値が非標準化形式で表現されると見なします。 したがって、非標準化形式をサポートしないインスタンスを持つサブクラスは、このメソッドをオーバーライドする必要があります。
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 - 色成分およびアルファ成分の配列を表すObjectObject。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 - 返されたピクセルを保持するプリミティブ・データ配列ObjectClassCastException - 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は抽象クラスなので、どのインスタンスもサブクラスのインスタンスになります。 この抽象クラスでの、このメソッドのデフォルトの実装は、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、クラスObjectobj - 等しいかどうかが判定されるObjectObjectがColorModelのインスタンスで、このColorModelに等しい場合はtrue、それ以外の場合はfalse。Object.hashCode()、HashMappublic int hashCode()
hashCode、クラスObjectObject.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、そうでない場合はfalseColorModelオブジェクト。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、SampleModelpublic SampleModel createCompatibleSampleModel(int w, int h)
ColorModelと互換性のあるデータ・レイアウトを持つ、指定された幅と高さのSampleModelを作成します。 ColorModelは抽象クラスなので、どのインスタンスもサブクラスのインスタンスになります。 この抽象クラスの実装はUnsupportedOperationExceptionをスローするので、サブクラスはこのメソッドをオーバーライドする必要があります。 w - 新しいSampleModelに適用される幅h - 新しいSampleModelに適用される高さSampleModelオブジェクト。UnsupportedOperationException - このColorModelでこのメソッドがサポートされていない場合SampleModelpublic boolean isCompatibleSampleModel(SampleModel sm)
SampleModelがこのColorModelと互換性があるかどうかを判定します。 ColorModelは抽象クラスなので、どのインスタンスもサブクラスのインスタンスになります。 この抽象クラスの実装はUnsupportedOperationExceptionをスローするので、サブクラスはこのメソッドをオーバーライドする必要があります。 sm - 指定されたSampleModelSampleModelがこのColorModelと互換性がある場合はtrue、それ以外の場合はfalse。UnsupportedOperationException - このColorModelでこのメソッドがサポートされていない場合SampleModelpublic void finalize()
ColorModelが参照されなくなったときに、このColorModelに関連付けられたシステム・リソースを破棄します。finalize、クラスObjectWeakReference, PhantomReferencepublic WritableRaster getAlphaRaster(WritableRaster raster)
ColorModelのピクセル値が別々の空間バンドとして色情報およびアルファ情報を表す場合(ComponentColorModelおよびDirectColorModelなど)に、入力Rasterから抽出された、イメージのアルファ・チャネルを表すRasterを返します。 そのようなColorModelに関連したRasterオブジェクトがアルファ・バンドを持っている場合、このメソッドは、このアルファ・バンドがイメージ・データの最後のバンドとして格納されていると見なします。 このColorModelに関連した空間アルファ・チャネルがほかにない場合は、nullを返します。 ルックアップ表にアルファを持つIndexColorModelの場合、このメソッドはnullを返します。これは、空間的に分離したアルファ・チャネルが存在しないためです。 このメソッドは、新しいRasterを生成します(ただしデータ配列は共有されます)。 ColorModelは抽象クラスなので、どのインスタンスもサブクラスのインスタンスになります。 この抽象クラスの実装はnullを返すので、サブクラスはこのメソッドをオーバーライドしてnullを返す以外の動作を取得する必要があります。 raster - 指定されたRasterRasterから取得される、イメージのアルファ・チャネルを表すRaster。 バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。 そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2025, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Documentation Redistribution Policyも参照してください。