|
JavaTM 2 Platform Std. Ed. v1.4.0 |
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object | +--java.awt.image.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
- 指定された 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()
Transparency
内の getTransparency
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 の範囲でスケーリングして返します。必要な場合は、色変換が行われます。ピクセル値は、オブジェクト参照として渡された 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
内の equals
obj
- 等しいかどうかが判定される Object
Object
が ColorModel
のインスタンスであり、この ColorModel
と等しい場合は true
、そうでない場合は false
Object.hashCode()
,
Hashtable
public int hashCode()
Object
内の hashCode
Object.equals(java.lang.Object)
,
Hashtable
public 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
でこのメソッドがサポートされていない場合SampleModel
public boolean isCompatibleSampleModel(SampleModel sm)
SampleModel
がこの ColorModel
と互換性があるかどうかを判定します。ColorModel
は abstract クラスなので、どのインスタンスもサブクラスのインスタンスになります。この abstract クラスの実装は UnsupportedOperationException
をスローするので、サブクラスはこのメソッドをオーバーライドする必要があります。
sm
- 指定された SampleModel
SampleModel
がこの ColorModel
と互換性がある場合は true
、そうでない場合は false
UnsupportedOperationException
- この ColorModel
でこのメソッドがサポートされていない場合SampleModel
public void finalize()
ColorModel
が参照されなくなったときに、関連したシステムリソースを破棄します。
Object
内の finalize
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
public String toString()
ColorModel
オブジェクトの内容を表す String
を返します。
Object
内の toString
ColorModel
オブジェクトの内容を表す String
|
JavaTM 2 Platform Std. Ed. v1.4.0 |
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Java、Java 2D、および JDBC は米国ならびにその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.