|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
java.lang.Objectjava.awt.image.ColorModel
public abstract class ColorModel
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 の各サブクラスでは、利用可能な転送型がどれか、およびピクセルを表すプリミティブ配列の要素数がどのように決められるかを指定する必要があります。
BufferedImage の場合、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 のサブクラスでは、この例外が発生する条件を指定する必要があります。
IndexColorModel,
ComponentColorModel,
PackedColorModel,
DirectColorModel,
Image,
BufferedImage,
RenderedImage,
ColorSpace,
SampleModel,
Raster,
DataBuffer| フィールドの概要 | |
|---|---|
protected int |
pixel_bits
ピクセルの総ビット数です。 |
protected int |
transferType
ピクセル値の表現に使用される配列のデータ型です。 |
| インタフェース java.awt.Transparency から継承されたフィールド |
|---|
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 変数で指定された状態と一致するようにします。 |
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 が参照されなくなったときに、関連したシステムリソースを破棄します。 |
abstract int |
getAlpha(int pixel)
指定されたピクセルのアルファ成分を 0 〜 255 の範囲でスケーリングして返します。 |
int |
getAlpha(Object inData)
指定されたピクセルのアルファ成分を 0 〜 255 の範囲でスケーリングして返します。 |
WritableRaster |
getAlphaRaster(WritableRaster raster)
この ColorModel のピクセル値が別々の空間バンドとして色情報およびアルファ情報を表す場合 (ComponentColorModel および DirectColorModel など) に、入力 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 を返します。 |
| クラス java.lang.Object から継承されたメソッド |
|---|
clone, getClass, notify, notifyAll, wait, wait, wait |
| フィールドの詳細 |
|---|
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 より小さい場合Transparency| メソッドの詳細 |
|---|
public static ColorModel getRGBdefault()
DirectColorModel を返します。カラースペースは、デフォルトの ColorSpace (sRGB) です。RGB 値の形式は、0xAARRGGBB のように、最上位バイトから最下位バイトまで、アルファ、赤、緑、および青の各成分をこの順に並べた、それぞれ 8 ビットの整数です。色成分は、アルファ成分によってあらかじめ乗算されません。この形式は、特定のデバイスまたはすべてのイメージのネイティブまたはもっとも効率的な ColorModel を必ずしも表しません。共通のカラーモデル形式として使用されます。
DirectColorModel オブジェクトpublic final boolean hasAlpha()
ColorModel でサポートされているかどうかを返します。
ColorModel でアルファがサポートされている場合は true、そうでない場合は falsepublic final boolean isAlphaPremultiplied()
ColorModel で変換されるピクセル値でアルファがあらかじめ乗算されているかどうかを返します。boolean が true の場合、この ColorModel は色情報およびアルファ情報が別々の空間バンドとして表されるピクセル値を解釈するために使用され、カラーサンプルはアルファサンプルによって乗算されたと見なされます。
ColorModel で変換されるピクセル値でアルファがあらかじめ乗算されている場合は true、そうでない場合は falsepublic 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()
Transparency 内の getTransparencyColorModel の透明度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 の範囲でスケーリングして返します。必要な場合は、色変換が行われます。ピクセル値は、オブジェクト参照として渡された transferType 型のデータ要素の配列で指定されます。戻り値は、あらかじめ乗算されていない値になります。たとえば、アルファがあらかじめ乗算されている場合、このメソッドは値を返す前にそれを除算します。アルファ値が 0 の場合、赤の値は 0 になります。inData が transferType 型のプリミティブ配列でない場合は、ClassCastException がスローされます。inData の大きさがこの ColorModel のピクセル値を保持するのに十分でない場合は、ArrayIndexOutOfBoundsException がスローされます。この transferType がサポートされていない場合は、UnsupportedOperationException がスローされます。ColorModel は abstract クラスなので、どのインスタンスもサブクラスのインスタンスでなければなりません。サブクラスはこのメソッドの実装を継承します。サブクラスがその実装をオーバーライドしない場合、サブクラスが 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 の範囲でスケーリングして返します。必要な場合は、色変換が行われます。ピクセル値は、オブジェクト参照として渡された transferType 型のデータ要素の配列で指定されます。戻り値は、あらかじめ乗算されていない値になります。たとえば、アルファがあらかじめ乗算されている場合、このメソッドは値を返す前にそれを除算します。アルファ値が 0 の場合、緑の値は 0 になります。inData が transferType 型のプリミティブ配列でない場合は、ClassCastException がスローされます。inData の大きさがこの ColorModel のピクセル値を保持するのに十分でない場合は、ArrayIndexOutOfBoundsException がスローされます。この transferType がサポートされていない場合は、UnsupportedOperationException がスローされます。ColorModel は abstract クラスなので、どのインスタンスもサブクラスのインスタンスでなければなりません。サブクラスはこのメソッドの実装を継承します。サブクラスがその実装をオーバーライドしない場合、サブクラスが 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 の範囲でスケーリングして返します。必要な場合は、色変換が行われます。ピクセル値は、オブジェクト参照として渡された transferType 型のデータ要素の配列で指定されます。戻り値は、あらかじめ乗算されていない値になります。たとえば、アルファがあらかじめ乗算されている場合、このメソッドは値を返す前にそれを除算します。アルファ値が 0 の場合、青の値は 0 になります。inData が transferType 型のプリミティブ配列でない場合は、ClassCastException がスローされます。inData の大きさがこの ColorModel のピクセル値を保持するのに十分でない場合は、ArrayIndexOutOfBoundsException がスローされます。この transferType がサポートされていない場合は、UnsupportedOperationException がスローされます。ColorModel は abstract クラスなので、どのインスタンスもサブクラスのインスタンスでなければなりません。サブクラスはこのメソッドの実装を継承します。サブクラスがその実装をオーバーライドしない場合、サブクラスが 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 は abstract クラスなので、どのインスタンスもサブクラスのインスタンスでなければなりません。サブクラスはこのメソッドの実装を継承します。サブクラスがその実装をオーバーライドしない場合、サブクラスが 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 は abstract クラスなので、どのインスタンスもサブクラスのインスタンスになります。この abstract クラスの実装は 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 のピクセルを指定して、標準化されていない色成分およびアルファ成分の配列を返します。pixel 値は、int として指定されます。この ColorModel のピクセル値が単一の int として表現できない場合、またはこの ColorModel の色成分値が非標準化形式で表現できない場合は、IllegalArgumentException がスローされます。たとえば、このメソッドは、DirectColorModel の特定のピクセル値の成分を取り出すために使用できます。components 配列が null の場合は、新しい配列が割り当てられます。components 配列が返されます。色成分およびアルファ成分は、offset を起点に components 配列に格納されます。配列がこのメソッドで割り当てられている場合も同様です。components 配列が null でない場合に、(offset を起点に) すべての色成分およびアルファ成分を保持するのに十分な大きさでないときは、ArrayIndexOutOfBoundsException がスローされます。ColorModel は abstract クラスなので、どのインスタンスもサブクラスのインスタンスになります。この abstract クラスの実装は 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 は abstract クラスなので、どのインスタンスもサブクラスのインスタンスになります。この abstract クラスの実装は UnsupportedOperationException をスローするので、サブクラスはこのメソッドをオーバーライドする必要があります。
pixel - 指定されたピクセルcomponents - 指定されたピクセルの色成分およびアルファ成分を受け取る配列offset - 指定されたピクセルの色成分およびアルファ成分の格納を開始する components 配列内のインデックス
UnsupportedOperationException - この 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 がスローされます。
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 によって指定された 1 成分あたりの最小と最大の間の float 値です。この ColorModel の色成分値が非標準化形式で表現できない場合は、IllegalArgumentException がスローされます。components 配列が null の場合は、新しい配列が割り当てられます。components 配列が返されます。色成分およびアルファ成分は、offset を起点に components 配列に格納されます。配列がこのメソッドで割り当てられている場合も同様です。components 配列が null でない場合に、(offset を起点に) すべての色成分およびアルファ成分を格納するのに十分な大きさでないときは、ArrayIndexOutOfBoundsException がスローされます。normComponents 配列が normOffset を起点にすべての色成分およびアルファ成分を格納するのに十分な大きさでない場合は、IllegalArgumentException がスローされます。
ColorModel は abstract クラスであるため、どのインスタンスもサブクラスのインスタンスでなければなりません。この 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 は abstract クラスなので、どのインスタンスもサブクラスのインスタンスになります。この abstract クラスの実装は 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 は abstract クラスなので、どのインスタンスもサブクラスのインスタンスになります。この abstract クラスの実装は UnsupportedOperationException をスローするので、サブクラスはこのメソッドをオーバーライドする必要があります。
components - 標準化されていない色成分およびアルファ成分の配列offset - 色成分およびアルファ成分の取得開始位置を指定する、components 内のインデックスobj - 色成分およびアルファ成分の配列を表す Object
Object
ClassCastException - obj が transferType 型のプリミティブ配列でない場合
ArrayIndexOutOfBoundsException - obj がこの ColorModel のピクセル値を保持するのに十分な大きさでない場合、あるいは offset を起点にした components 配列がすべての色成分およびアルファ成分を保持するのに十分な大きさでない場合
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 は abstract クラスなので、どのインスタンスもサブクラスのインスタンスになります。この abstract クラスでの、このメソッドのデフォルトの実装は、標準化形式を非標準化形式に変換してから 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 は abstract クラスなので、どのインスタンスもサブクラスのインスタンスになります。この abstract クラスでの、このメソッドのデフォルトの実装は、標準化形式を非標準化形式に変換してから getDataElement(int[], int, Object) を呼び出します。非標準化形式をサポートしないインスタンスを持つサブクラスは、このメソッドをオーバーライドする必要があります。
normComponents - 標準化されている色成分およびアルファ成分の配列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)
ColorModel でピクセルを指定して、すべての色成分とアルファ成分の配列を標準化形式で返します。ピクセル値は、オブジェクト参照として渡される transferType 型のデータ要素の配列によって指定されます。pixel が transferType 型のプリミティブ配列でない場合は、ClassCastException がスローされます。pixel がこの ColorModel のピクセル値を保持するのに十分な大きさでない場合は、ArrayIndexOutOfBoundsException がスローされます。標準化成分は、この ColorModel の ColorSpace によって指定された 1 成分あたりの最小と最大の間の float 値です。normComponents 配列が null の場合は、新しい配列が割り当てられます。normComponents 配列が返されます。色成分とアルファ成分は、normOffset を起点に normComponents 配列に格納されます。配列がこのメソッドで割り当てられている場合も同様です。normComponents 配列が null でなく、(normOffset を起点に) 色成分とアルファ成分のすべてを保持するのに十分な大きさでない場合は、ArrayIndexOutOfBoundsException がスローされます。ColorModel は abstract クラスなので、どのインスタンスもサブクラスのインスタンスになります。この 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 と等しいかどうかを判定します。
Object 内の equalsobj - 等しいかどうかが判定される Object
Object が ColorModel のインスタンスであり、この ColorModel と等しい場合は true、そうでない場合は falseObject.hashCode(),
Hashtablepublic int hashCode()
Object 内の hashCodeObject.equals(java.lang.Object),
Hashtablepublic final ColorSpace getColorSpace()
ColorModel に関連した ColorSpace を返します。
ColorModel の ColorSpace
public ColorModel coerceData(WritableRaster raster,
boolean isAlphaPremultiplied)
isAlphaPremultiplied 変数で指定された状態と一致するようにします。このとき、データはこの ColorModel によって現在正しく記述されていると見なされます。このメソッドは、カラーラスタデータをアルファで乗算または除算します。データが正しい状態にある場合には、処理は行いません。データを強制的に型変換する必要がある場合、このメソッドは isAlphaPremultiplied フラグを正しく設定した、この ColorModel のインスタンスも返します。この ColorModel によってサポートされていない場合、このメソッドは UnsupportedOperationException をスローします。ColorModel は abstract クラスなので、どのインスタンスもサブクラスのインスタンスになります。この abstract クラスの実装は UnsupportedOperationException をスローするため、サブクラスはこのメソッドをオーバーライドする必要があります。
raster - WritableRaster データisAlphaPremultiplied - アルファがあらかじめ乗算されている場合は true、そうでない場合は false
ColorModel オブジェクトpublic boolean isCompatibleRaster(Raster raster)
raster がこの ColorModel と互換性がある場合は true、そうでない場合は false を返します。ColorModel は abstract クラスなので、どのインスタンスもサブクラスのインスタンスになります。この abstract クラスの実装は UnsupportedOperationException をスローするので、サブクラスはこのメソッドをオーバーライドする必要があります。
raster - 互換性を判定する Raster オブジェクト
raster がこの ColorModel と互換性がある場合は true
UnsupportedOperationException - この ColorModel でこのメソッドが実装されていない場合
public WritableRaster createCompatibleWritableRaster(int w,
int h)
ColorModel と互換性のあるデータレイアウト (SampleModel) を持つ WritableRaster を生成します。ColorModel は abstract クラスなので、どのインスタンスもサブクラスのインスタンスになります。この abstract クラスの実装は UnsupportedOperationException をスローするので、サブクラスはこのメソッドをオーバーライドする必要があります。
w - 新しい WritableRaster に適用される幅h - 新しい WritableRaster に適用される高さ
WritableRaster オブジェクト
UnsupportedOperationException - この ColorModel でこのメソッドがサポートされていない場合WritableRaster,
SampleModel
public SampleModel createCompatibleSampleModel(int w,
int h)
ColorModel と互換性のある SampleModel を生成します。ColorModel は abstract クラスなので、どのインスタンスもサブクラスのインスタンスになります。この abstract クラスの実装は UnsupportedOperationException をスローするので、サブクラスはこのメソッドをオーバーライドする必要があります。
w - 新しい SampleModel に適用される幅h - 新しい SampleModel に適用される高さ
SampleModel オブジェクト
UnsupportedOperationException - この ColorModel でこのメソッドがサポートされていない場合SampleModelpublic boolean isCompatibleSampleModel(SampleModel sm)
SampleModel がこの ColorModel と互換性があるかどうかを判定します。ColorModel は abstract クラスなので、どのインスタンスもサブクラスのインスタンスになります。この abstract クラスの実装は UnsupportedOperationException をスローするので、サブクラスはこのメソッドをオーバーライドする必要があります。
sm - 指定された SampleModel
SampleModel がこの ColorModel と互換性がある場合は true、そうでない場合は false
UnsupportedOperationException - この ColorModel でこのメソッドがサポートされていない場合SampleModelpublic void finalize()
ColorModel が参照されなくなったときに、関連したシステムリソースを破棄します。
Object 内の finalizepublic WritableRaster getAlphaRaster(WritableRaster raster)
ColorModel のピクセル値が別々の空間バンドとして色情報およびアルファ情報を表す場合 (ComponentColorModel および DirectColorModel など) に、入力 Raster から抽出された、イメージのアルファチャネルを表す Raster を返します。そのような ColorModel に関連した Raster オブジェクトがアルファバンドを持っている場合、このメソッドは、このアルファバンドがイメージデータの最後のバンドとして格納されていると見なします。この ColorModel に関連している独立した空間アルファチャネルがない場合、このメソッドは null を返します。ルックアップテーブルにアルファを持つ IndexColorModel の場合、このメソッドは null を返します。これは、空間的に分離したアルファチャネルが存在しないためです。このメソッドは、新しい Raster を生成します (ただしデータ配列は共有される)。ColorModel は abstract クラスなので、どのインスタンスもサブクラスのインスタンスになります。この抽象クラスの実装は null を返すので、サブクラスはこのメソッドをオーバーライドして null を返す以外の動作を取得する必要があります。
raster - 指定したRaster
Raster から取得される、イメージのアルファチャネルを表す Rasterpublic String toString()
ColorModel オブジェクトの内容を表す String を返します。
Object 内の toStringColorModel オブジェクトの内容を表す String
|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。