|
JavaTM 2 Platform Std. Ed. v1.3 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
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) 2D API でサポートされている転送型は、DataBuffer.TYPE_BYTE、DataBuffer.TYPE_USHORT、および DataBuffer.TYPE_INT です。特定の ColorModel
オブジェクトの転送型は、オブジェクトが生成されるときに明示的にまたはデフォルトで指定されます。ColorModel
の各サブクラスでは、利用可能な転送型がどれか、およびピクセルを表すプリミティブ配列の要素数がどのように決められるかを指定する必要があります。
BufferedImage
の場合、Raster
および Raster
オブジェクトの SampleModel
の転送型 (それらのクラスの getTransferType
メソッドを介して取得できる) は、ColorModel
の転送型と一致する必要があります。Raster
および SampleModel
のピクセルを表す配列の要素数 (それらのクラスの getNumDataElements
メソッドを介して取得できる) は、ColorModel
と一致しなければなりません。
ピクセル値から色成分およびアルファ成分に変換するために使用されるアルゴリズムは、サブクラスによって異なります。たとえば、BufferedImage
オブジェクトの Raster
の SampleModel
によって得られるサンプルと色成分およびアルファ成分の間は 1 対 1 で対応していなくてもかまいません。1 対 1 の対応がある場合でも、サンプルのビット数は、対応する色成分およびアルファ成分のビット数と同じでなくてもかまいません。各サブクラスでは、ピクセル値から色成分およびアルファ成分への変換がどのように行われるかを指定する必要があります。
ColorModel
クラスのメソッドは、色成分およびアルファ成分の 2 つの異なる表現を使用します。非標準化形式では、各成分は 0 と 2n - 1 の間の符号なし整数値です。n は、特定の成分の有効ビットの数です。特定の ColorModel
のピクセル値がアルファサンプルであらかじめ乗算されているカラーサンプルを表す場合、非標準化色成分値も同じようにあらかじめ乗算されます。標準化形式の場合、各成分は 0.0 と 1.0 の間の float
値です。標準化色成分値はあらかじめ乗算されません。
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(int[] components,
int offset)
標準化されていない色成分およびアルファ成分の配列を指定して、この ColorModel に int として表されるピクセル値を返します。 |
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)
非標準化成分配列を指定して、標準化形式ですべての色成分およびアルファ成分の配列を返します。 |
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
の色成分またはアルファ成分の数より小さい場合、または透明度が有効な値でない場合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
として表現できない場合は、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
がスローされます。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)
components
配列が null
の場合は、新しい配列が割り当てられます。components
配列が返されます。色成分およびアルファ成分は、offset
を起点に components
配列に格納されます (配列がこのメソッドによって割り当てられた場合も同様)。components
配列が null
でない場合に、(offset
を起点に) すべての色成分およびアルファ成分を格納するのに十分な大きさでないときは、ArrayIndexOutOfBoundsException
がスローされます。normComponents
配列が normOffset
を起点にすべての色成分およびアルファ成分を格納するのに十分な大きさでない場合は、IllegalArgumentException
がスローされます。normComponents
- 標準化成分を格納している配列normOffset
- 標準化成分の取り出しを開始する、normComponents
配列内のオフセットcomponents
- normComponents
から成分を受け取る配列offset
- normComponents
から標準化成分の格納を開始する、components
内のインデックスIllegalArgumentException
- normComponents
から normOffset
を引いた長さが numComponents
より小さい場合UnsupportedOperationException
- この ColorModel
メソッドのコンストラクタが super(bits)
コンストラクタを呼び出し、かつこのメソッドをオーバーライドしなかった場合。ColorModel(int)
のコンストラクタ参照public float[] getNormalizedComponents(int[] components, int offset, float[] normComponents, int normOffset)
normComponents
配列が null
の場合は、新しい配列が割り当てられます。normComponents
配列が返されます。色成分およびアルファ成分は、normOffset
を起点に normComponents
配列に格納されます (配列がこのメソッドによって割り当てられた場合も同様)。normComponents
配列が null
でない場合に、(normOffset
を起点に) すべての色成分およびアルファ成分を格納するのに十分な大きさでないときは、ArrayIndexOutOfBoundsException
がスローされます。components
配列が offset
を起点にすべての色成分およびアルファ成分を格納するのに十分な大きさでない場合は、IllegalArgumentException
がスローされます。components
- 標準化されていない成分を格納している配列offset
- 標準化されていない成分の取り出しを開始する、components
配列内のオフセットnormComponents
- components
から成分を受け取る配列normOffset
- components
から標準化されていない成分の格納を開始する、normComponents
内のインデックスUnsupportedOperationException
- この ColorModel
メソッドのコンストラクタが super(bits)
コンストラクタを呼び出し、かつこのメソッドをオーバーライドしなかった場合。ColorModel(int)
のコンストラクタ参照UnsupportedOperationException
- このメソッドが成分ごとのビット数を判定できなかった場合public int getDataElement(int[] components, int offset)
ColorModel
に int
として表されるピクセル値を返します。この ColorModel
のピクセル値が単一の int
として表現できない場合、このメソッドは IllegalArgumentException
をスローします。components
配列が (offset
を起点に) すべての色成分およびアルファ成分を保持するのに十分な大きさでない場合は、ArrayIndexOutOfBoundsException
がスローされます。ColorModel
は abstract クラスなので、どのインスタンスもサブクラスのインスタンスになります。この abstract クラスの実装は UnsupportedOperationException
をスローするので、サブクラスはこのメソッドをオーバーライドする必要があります。components
- 標準化されていない色成分およびアルファ成分の配列offset
- 色成分およびアルファ成分の取り出しを開始する、components
内のインデックスColorModel
内の int
ピクセル値IllegalArgumentException
- この ColorModel
のピクセル値が単一の int
として表現できない場合ArrayIndexOutOfBoundsException
- components
配列の大きさが offset
を起点にすべての色成分およびアルファ成分を保持するのに十分でない場合UnsupportedOperationException
- この ColorModel
でこのメソッドがサポートされていない場合public Object getDataElements(int[] components, int offset, Object obj)
ColorModel
のピクセルのデータ要素配列表現を返します。この配列は、WritableRaster
オブジェクトの setDataElements
メソッドに渡すことができます。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
のピクセル値を保持するのに十分な大きさでない場合、あるいは components
配列が offset
を起点にすべての色成分およびアルファ成分を保持するのに十分な大きさでない場合UnsupportedOperationException
- この ColorModel
でこのメソッドがサポートされていない場合WritableRaster.setDataElements(int, int, java.lang.Object)
,
SampleModel.setDataElements(int, int, java.lang.Object, java.awt.image.DataBuffer)
public boolean equals(Object obj)
Object
が ColorModel
のインスタンスであり、この ColorModel
と等しいかどうかを判定します。Object
内の equals
obj
- 等しいかどうかが判定される Object
Object
が ColorModel
のインスタンスであり、この ColorModel
と等しい場合は true
、そうでない場合は false
public int hashCode()
Object
内の hashCode
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
java.lang.Object
からコピーされたタグ:Throwable
- このメソッドで生じた Exception
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.3 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Java、Java 2D、JDBC は、米国およびその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2000 Sun Microsystems, Inc. 901 San Antonio Road,
Palo Alto, California, 94303, U.S.A. All Rights Reserved.