JavaTM 2 Platform
Std. Ed. v1.3

java.awt.image
クラス DirectColorModel

java.lang.Object
  |
  +--java.awt.image.ColorModel
        |
        +--java.awt.image.PackedColorModel
              |
              +--java.awt.image.DirectColorModel
すべての実装インタフェース:
Transparency

public class DirectColorModel
extends PackedColorModel

DirectColorModel クラスは、RGB の色とアルファの情報を個別のサンプルとして表し、1 つのピクセルのすべてのサンプルを int、short、または byte 型の数で 1 つにパックするピクセル値を扱う ColorModel クラスです。このクラスは、ColorSpace.TYPE_RGB タイプの ColorSpace とだけ一緒に使うことができます。ピクセル値には、カラーサンプルが 3 つ必要であるほか、アルファサンプルを 1 つ含めることができます。transferType の型のプリミティブ配列のピクセル表現を使うメソッドでは、配列長は常に 1 です。サポートされる転送タイプは、DataBuffer.TYPE_BYTE、DataBuffer.TYPE_USHORT、および DataBuffer.TYPE_INT です。カラーサンプルとアルファサンプルは、ビットマスクで示されるビット単位で配列の単一の要素に格納されます。ビットマスクはそれぞれ隣接している必要がありますが、オーバーラップすることはできません。同じマスクが、ほかのメソッドによって使用される単一の int ピクセル表現に適用されます。以下に、マスクと、カラーサンプルとアルファサンプルの対応関係を示します。

表示またはイメージ処理のためにピクセル値から色成分やアルファ成分に変換するときには、サンプルと成分は 1 対 1 の対応になります。DirectColorModel は一般に、パックされたサンプルを定義するのにマスクを使うイメージデータとともに使用します。たとえば、DirectColorModelSinglePixelPackedSampleModel と組み合わせて使用して BufferedImage を構築できます。通常、SampleModelColorModel が使うマスクは同じものです。ただし、マスクが異なる場合に、ピクセルデータの色解釈は ColorModel のマスクにしたがって処理されます。

このクラスで使うピクセル値は常に単一の int として表現できるため、単一の int によるピクセル表現がこのクラスのすべてのオブジェクトで有効です。このため、この表現を使うメソッドは、無効なピクセル値が原因で IllegalArgumentException をスローすることはありません。

このカラーモデルは X11 の TrueColor に類似しています。getRGBdefault メソッドが指定するデフォルトの RGB ColorModel は、次のパラメータを持つ DirectColorModel です。

 Number of bits:        32
 Red mask:              0x00ff0000
 Green mask:            0x0000ff00
 Blue mask:             0x000000ff
 Alpha mask:            0xff000000
 Color space:           sRGB
 isAlphaPremultiplied:  False
 Transparency:          Transparency.TRANSLUCENT
 transferType:          DataBuffer.TYPE_INT
 

このクラスの多くのメソッドは、final です。この理由は、下層のネイティブなグラフィックスのコードがこのクラスの設計と操作に関する前提条件を課し、これらの前提条件がこのクラスで final になっているメソッドの実装に反映されているからです。ほかの理由でこのクラスをサブクラス化することはできますが、final なメソッドの動作をオーバーライドしたり、変更することはできません。

関連項目:
ColorModel, ColorSpace, SinglePixelPackedSampleModel, BufferedImage, ColorModel.getRGBdefault()

クラス java.awt.image.ColorModel から継承したフィールド
pixel_bits, transferType
 
インタフェース java.awt.Transparency から継承したフィールド
BITMASK, OPAQUE, TRANSLUCENT
 
コンストラクタの概要
DirectColorModel(ColorSpace space, int bits, int rmask, int gmask, int bmask, int amask, boolean isAlphaPremultiplied, int transferType)
          指定されたパラメータで DirectColorModel を構築します。
DirectColorModel(int bits, int rmask, int gmask, int bmask)
          指定されたマスクから、int ピクセル表現のどのビットが赤、緑、青のサンプルを格納するかを指定する DirectColorModel を構築します。
DirectColorModel(int bits, int rmask, int gmask, int bmask, int amask)
          指定されたマスクから、DirectColorModel を構築します。
 
メソッドの概要
 ColorModel coerceData(WritableRaster raster, boolean isAlphaPremultiplied)
          ラスタデータが isAlphaPremultiplied 変数で指定された状態と一致するようにします。
 WritableRaster createCompatibleWritableRaster(int w, int h)
          この ColorModel と互換性のあるデータレイアウト (SampleModel) を持つ、指定された幅と高さの WritableRaster を作成します。
 int getAlpha(int pixel)
          指定されたピクセルのアルファ成分を、0 〜 255 の範囲でスケーリングして返します。
 int getAlpha(Object inData)
          指定されたピクセルのアルファ成分を 0 〜 255 の範囲でスケーリングして返します。
 int getAlphaMask()
          int ピクセル表現のどのビットがアルファ成分を格納しているかを示すマスクを返します。
 int getBlue(int pixel)
          指定されたピクセルの青成分をデフォルトの RGB ColorSpace である sRGB で 0 〜 255 の範囲でスケーリングして返します。
 int getBlue(Object inData)
          指定されたピクセルの青色成分をデフォルト RGB ColorSpace (sRGB) の 0 〜 255 の範囲でスケーリングして返します。
 int getBlueMask()
          int ピクセル表現のどのビットが青の色成分を格納しているかを示すマスクを返します。
 int[] getComponents(int pixel, int[] components, int offset)
          この ColorModel のピクセルを指定して、標準化されていない色成分とアルファ成分の配列を返します。
 int[] getComponents(Object pixel, int[] components, int offset)
          この ColorModel でピクセルを指定して、標準化されていない色成分とアルファ成分の配列を返します。
 int getDataElement(int[] components, int offset)
          標準化されていない色成分とアルファ成分の配列を指定して、この ColorModel の int として表現されるピクセル値を返します。
 Object getDataElements(int[] components, int offset, Object obj)
          標準化されていない色成分およびアルファ成分の配列を指定して、この ColorModel のピクセルのデータ要素配列表現を返します。
 Object getDataElements(int rgb, Object pixel)
          デフォルト RGB カラーモデルの int ピクセル表現を指定して、この ColorModel のピクセルのデータ要素配列表現を返します。
 int getGreen(int pixel)
          指定されたピクセルの緑成分をデフォルトの RGB ColorSpace である sRGB で 0 〜 255 の範囲でスケーリングして返します。
 int getGreen(Object inData)
          指定されたピクセルの緑色成分をデフォルト RGB ColorSpace (sRGB) の 0 〜 255 の範囲でスケーリングして返します。
 int getGreenMask()
          int ピクセル表現のどのビットが緑の色成分を格納しているかを示すマスクを返します。
 int getRed(int pixel)
          指定されたピクセルの赤成分をデフォルトの RGB ColorSpace である sRGB で 0 〜 255 の範囲でスケーリングして返します。
 int getRed(Object inData)
          指定されたピクセルの赤色成分をデフォルト RGB ColorSpace (sRGB) の 0 〜 255 の範囲でスケーリングして返します。
 int getRedMask()
          int ピクセル表現のどのビットが赤の色成分を格納しているかを示すマスクを返します。
 int getRGB(int pixel)
          ピクセルの色成分とアルファ成分を、デフォルトの RGB カラーモデル形式で返します。
 int getRGB(Object inData)
          指定されたピクセルの色成分およびアルファ成分をデフォルト RGB カラーモデル形式で返します。
 boolean isCompatibleRaster(Raster raster)
          raster がこの ColorModel と互換性がある場合には true を返し、そうでない場合には false を返します。
 String toString()
          この DirectColorModel を表す String を返します。
 
クラス java.awt.image.PackedColorModel から継承したメソッド
createCompatibleSampleModel, equals, getAlphaRaster, getMask, getMasks, isCompatibleSampleModel
 
クラス java.awt.image.ColorModel から継承したメソッド
finalize, getColorSpace, getComponentSize, getComponentSize, getNormalizedComponents, getNumColorComponents, getNumComponents, getPixelSize, getRGBdefault, getTransferType, getTransparency, getUnnormalizedComponents, hasAlpha, hashCode, isAlphaPremultiplied
 
クラス java.lang.Object から継承したメソッド
clone, getClass, notify, notifyAll, wait, wait, wait
 

コンストラクタの詳細

DirectColorModel

public DirectColorModel(int bits,
                        int rmask,
                        int gmask,
                        int bmask)
指定されたマスクから、int ピクセル表現のどのビットが赤、緑、青のサンプルを格納するかを指定する DirectColorModel を構築します。ピクセル値はアルファ情報を格納しないので、すべてのピクセルは不透明 (アルファ = 1.0) として処理されます。各マスク内のすべてのビットは連続していて、int ピクセル表現の指定桁数の最下位ビットに収まらなければなりません。ColorSpace はデフォルトの sRGB 領域になります。透明度の値は Transparency.OPAQUE になります。転送タイプは、単一のピクセルを保持できる DataBuffer.TYPE_BYTE、DataBuffer.TYPE_USHORT、または DataBuffer.TYPE_INT のうち最小のものになります。
パラメータ:
bits - ピクセル値のビット数。たとえば、マスク内のビット数の合計
rmask - int ピクセル表現のどのビットが赤の色成分を格納するかを示すマスクを指定する
gmask - int ピクセル表現のどのビットが緑の色成分を格納するかを示すマスクを指定する
bmask - int ピクセル表現のどのビットが青の色成分を格納するかを示すマスクを指定する

DirectColorModel

public DirectColorModel(int bits,
                        int rmask,
                        int gmask,
                        int bmask,
                        int amask)
指定されたマスクから、DirectColorModel を構築します。このマスクは、int ピクセル表現のどのビットが赤、緑、青のサンプルを格納するか、アルファサンプルがあればどのビットが格納するかを指定します。amask が 0 の場合、ピクセル値はアルファ情報を格納しないので、すべてのピクセルは不透明 (アルファ = 1.0) として処理されます。各マスク内のすべてのビットは連続していて、int ピクセル表現の指定桁数の最下位ビットに収まらなければなりません。アルファがあれば、あらかじめ乗算されることはありません。ColorSpace はデフォルトの sRGB 領域になります。透明度の値は、アルファが存在しない場合には Transparency.OPAQUE になり、そうでない場合には Transparency.TRANSLUCENT になります。転送タイプは、単一のピクセルを保持できる DataBuffer.TYPE_BYTE、DataBuffer.TYPE_USHORT、または DataBuffer.TYPE_INT のうち最小のものになります。
パラメータ:
bits - ピクセル値のビット数。たとえば、マスク内のビット数の合計
rmask - int ピクセル表現のどのビットが赤の色成分を格納するかを示すマスクを指定する
gmask - int ピクセル表現のどのビットが緑の色成分を格納するかを示すマスクを指定する
bmask - int ピクセル表現のどのビットが青の色成分を格納するかを示すマスクを指定する
amask - int ピクセル表現のどのビットがアルファ成分を格納するかを示すマスクを指定する

DirectColorModel

public DirectColorModel(ColorSpace space,
                        int bits,
                        int rmask,
                        int gmask,
                        int bmask,
                        int amask,
                        boolean isAlphaPremultiplied,
                        int transferType)
指定されたパラメータで DirectColorModel を構築します。色成分は指定された ColorSpace に入り、タイプは ColorSpace.TYPE_RGB である必要があります。このマスクは、int ピクセル表現のどのビットが赤、緑、青のカラーサンプルを格納するか、アルファサンプルがあればどのビットが格納するかを指定します。amask が 0 であれば、ピクセル値はアルファ情報を格納しないので、すべてのピクセルは不透明 (アルファ = 1.0) として処理されます。各マスク内のすべてのビットは連続していて、int ピクセル表現の指定桁数の最下位ビットに収まる必要があります。アルファがあれば、boolean 型の isAlphaPremultiplied はピクセル値のカラーサンプルとアルファサンプルの解釈方法を指定します。boolean 型が true の場合、カラーサンプルはアルファサンプルで乗算済みと見なされます。透明度の値は、アルファが存在しない場合には Transparency.OPAQUE に、そうでない場合には Transparency.TRANSLUCENT になります。転送タイプは、ピクセル値を表現するのに使うプリミティブ配列の型で、DataBuffer.TYPE_BYTE、DataBuffer.TYPE_USHORT、または DataBuffer.TYPE_INT のうちの 1 つである必要があります。
パラメータ:
space - 指定された ColorSpace
bits - ピクセル値のビット数。たとえば、マスク内のビット数の合計
rmask - int ピクセル表現のどのビットが赤の色成分を格納するかを示すマスクを指定する
gmask - int ピクセル表現のどのビットが緑の色成分を格納するかを示すマスクを指定する
bmask - int ピクセル表現のどのビットが青の色成分を格納するかを示すマスクを指定する
amask - int ピクセル表現のどのビットがアルファ成分を格納するかを示すマスクを指定する
isAlphaPremultiplied - カラーサンプルがアルファサンプルによってあらかじめ乗算されている場合は true、そうでない場合は false
transferType - ピクセル値を表すのに使用される配列の型
メソッドの詳細

getRedMask

public final int getRedMask()
int ピクセル表現のどのビットが赤の色成分を格納しているかを示すマスクを返します。
戻り値:
int ピクセル表現のどのビットが赤の色成分を格納しているかを示すマスク

getGreenMask

public final int getGreenMask()
int ピクセル表現のどのビットが緑の色成分を格納しているかを示すマスクを返します。
戻り値:
int ピクセル表現のどのビットが緑の色成分を格納しているかを示すマスク

getBlueMask

public final int getBlueMask()
int ピクセル表現のどのビットが青の色成分を格納しているかを示すマスクを返します。
戻り値:
int ピクセル表現のどのビットが青の色成分を格納しているかを示すマスク

getAlphaMask

public final int getAlphaMask()
int ピクセル表現のどのビットがアルファ成分を格納しているかを示すマスクを返します。
戻り値:
int ピクセル表現のどのビットがアルファ成分を格納しているかを示すマスク

getRed

public final int getRed(int pixel)
指定されたピクセルの赤成分をデフォルトの RGB ColorSpace である sRGB で 0 〜 255 の範囲でスケーリングして返します。必要な場合は、色変換が行われます。ピクセルの値は int として指定されます。戻り値は、あらかじめ乗算されていない値です。アルファがあらかじめ乗算されている場合、このメソッドは値を返す前にアルファを除算します。アルファ値が 0 の場合、赤の値は 0 になります。
オーバーライド:
クラス ColorModel 内の getRed
パラメータ:
pixel - 指定されたピクセル
戻り値:
指定されたピクセルの赤色成分。sRGB ColorSpace で 0 〜 255 の範囲

getGreen

public final int getGreen(int pixel)
指定されたピクセルの緑成分をデフォルトの RGB ColorSpace である sRGB で 0 〜 255 の範囲でスケーリングして返します。必要な場合は、色変換が行われます。ピクセルの値は int として指定されます。戻り値は、あらかじめ乗算されていない値です。アルファがあらかじめ乗算されている場合、このメソッドは値を返す前にアルファを除算します。アルファ値が 0 の場合、緑の値は 0 になります。
オーバーライド:
クラス ColorModel 内の getGreen
パラメータ:
pixel - 指定されたピクセル
戻り値:
指定されたピクセルの緑色成分。sRGB ColorSpace で 0 〜 255 の範囲

getBlue

public final int getBlue(int pixel)
指定されたピクセルの青成分をデフォルトの RGB ColorSpace である sRGB で 0 〜 255 の範囲でスケーリングして返します。必要な場合は、色変換が行われます。ピクセルの値は int として指定されます。戻り値は、あらかじめ乗算されていない値です。アルファがあらかじめ乗算されている場合、このメソッドは値を返す前にアルファを除算します。アルファ値が 0 の場合、青の値は 0 になります。
オーバーライド:
クラス ColorModel 内の getBlue
パラメータ:
pixel - 指定されたピクセル
戻り値:
指定されたピクセルの青色成分。sRGB ColorSpace で 0 〜 255 の範囲

getAlpha

public final int getAlpha(int pixel)
指定されたピクセルのアルファ成分を、0 〜 255 の範囲でスケーリングして返します。ピクセル値は int として指定されます。
オーバーライド:
クラス ColorModel 内の getAlpha
パラメータ:
pixel - 指定されたピクセル
戻り値:
pixel のアルファ成分の値。0 〜 255 の範囲

getRGB

public final int getRGB(int pixel)
ピクセルの色成分とアルファ成分を、デフォルトの RGB カラーモデル形式で返します。必要に応じて、色変換が行われます。ピクセル値は int として指定されます。戻り値は、あらかじめ乗算された形式にはなりません。すなわち、アルファがあらかじめ乗算されている場合は、このメソッドがアルファを色成分から除算します。アルファ値が 0 の場合、色の値は 0 になります。
オーバーライド:
クラス ColorModel 内の getRGB
パラメータ:
pixel - 指定されたピクセル
戻り値:
指定されたピクセルの色成分およびアルファ成分の RGB 値
関連項目:
ColorModel.getRGBdefault()

getRed

public int getRed(Object inData)
指定されたピクセルの赤色成分をデフォルト RGB ColorSpace (sRGB) の 0 〜 255 の範囲でスケーリングして返します。必要な場合は、色変換が行われます。ピクセル値は、オブジェクト参照として渡された transferType 型のデータ要素の配列で指定されます。戻り値は、あらかじめ乗算されていない値になります。たとえば、アルファがあらかじめ乗算されている場合、このメソッドは値を返す前にそれを除算します。アルファ値が 0 の場合、赤の値は 0 になります。inDatatransferType 型のプリミティブ配列でない場合は、ClassCastException がスローされます。inData の大きさがこの ColorModel のピクセル値を保持するのに十分でない場合は、ArrayIndexOutOfBoundsException がスローされます。DirectColorModel はサブクラス化が可能なので、サブクラスはこのメソッドの実装を継承します。サブクラスがその実装をオーバーライドしない場合、サポートされていない transferType を使用していれば、例外がスローされます。この transferType が、ColorModel でサポートされていない場合は、UnsupportedOperationException がスローされます。
オーバーライド:
クラス ColorModel 内の getRed
パラメータ:
inData - ピクセル値を格納する配列
戻り値:
指定されたピクセルの赤色成分の値
例外:
ArrayIndexOutOfBoundsException - inData がこのカラーモデルのピクセル値を保持するのに十分な大きさでない場合
ClassCastException - inDatatransferType 型のプリミティブ配列でない場合
UnsupportedOperationException - このカラーモデルでこの transferType がサポートされていない場合

getGreen

public int getGreen(Object inData)
指定されたピクセルの緑色成分をデフォルト RGB ColorSpace (sRGB) の 0 〜 255 の範囲でスケーリングして返します。必要な場合は、色変換が行われます。ピクセル値は、オブジェクト参照として渡された transferType 型のデータ要素の配列で指定されます。戻り値は、あらかじめ乗算されていない値になります。たとえば、アルファがあらかじめ乗算されている場合、このメソッドは値を返す前にそれを除算します。アルファ値が 0 の場合、緑の値は 0 になります。inDatatransferType 型のプリミティブ配列でない場合は、ClassCastException がスローされます。inData の大きさがこの ColorModel のピクセル値を保持するのに十分でない場合は、ArrayIndexOutOfBoundsException がスローされます。DirectColorModel はサブクラス化が可能なので、サブクラスはこのメソッドの実装を継承します。サブクラスがその実装をオーバーライドしない場合、サポートされていない transferType を使用していれば、例外がスローされます。この transferType が、ColorModel でサポートされていない場合は、UnsupportedOperationException がスローされます。
オーバーライド:
クラス ColorModel 内の getGreen
パラメータ:
inData - ピクセル値を格納する配列
戻り値:
指定されたピクセルの緑色成分の値
例外:
ArrayIndexOutOfBoundsException - inData がこのカラーモデルのピクセル値を保持するのに十分な大きさでない場合
ClassCastException - inDatatransferType 型のプリミティブ配列でない場合
UnsupportedOperationException - このカラーモデルでこの transferType がサポートされていない場合

getBlue

public int getBlue(Object inData)
指定されたピクセルの青色成分をデフォルト RGB ColorSpace (sRGB) の 0 〜 255 の範囲でスケーリングして返します。必要な場合は、色変換が行われます。ピクセル値は、オブジェクト参照として渡された transferType 型のデータ要素の配列で指定されます。戻り値は、あらかじめ乗算されていない値になります。たとえば、アルファがあらかじめ乗算されている場合、このメソッドは値を返す前にそれを除算します。アルファ値が 0 の場合、青の値は 0 になります。inDatatransferType 型のプリミティブ配列でない場合は、ClassCastException がスローされます。inData の大きさがこの ColorModel のピクセル値を保持するのに十分でない場合は、ArrayIndexOutOfBoundsException がスローされます。DirectColorModel はサブクラス化が可能なので、サブクラスはこのメソッドの実装を継承します。サブクラスがその実装をオーバーライドしない場合、サポートされていない transferType を使用していれば、例外がスローされます。この transferType が、ColorModel でサポートされていない場合は、UnsupportedOperationException がスローされます。
オーバーライド:
クラス ColorModel 内の getBlue
パラメータ:
inData - ピクセル値を格納する配列
戻り値:
指定されたピクセルの青色成分の値
例外:
ArrayIndexOutOfBoundsException - inData がこのカラーモデルのピクセル値を保持するのに十分な大きさでない場合
ClassCastException - inDatatransferType 型のプリミティブ配列でない場合
UnsupportedOperationException - このカラーモデルでこの transferType がサポートされていない場合

getAlpha

public int getAlpha(Object inData)
指定されたピクセルのアルファ成分を 0 〜 255 の範囲でスケーリングして返します。ピクセル値は、オブジェクト参照として渡された transferType 型のデータ要素の配列で指定されます。inDatatransferType 型のプリミティブ配列でない場合は、ClassCastException がスローされます。inData の大きさが ColorModel のピクセル値を保持するのに十分でない場合は、ArrayIndexOutOfBoundsException がスローされます。DirectColorModel はサブクラス化が可能なので、サブクラスはこのメソッドの実装を継承します。サブクラスがその実装をオーバーライドしない場合、サポートされていない transferType を使用していれば、例外がスローされます。この transferType がサポートされていない場合は、UnsupportedOperationException がスローされます。
オーバーライド:
クラス ColorModel 内の getAlpha
パラメータ:
inData - 指定されたピクセル
戻り値:
0 〜 255 の範囲でスケーリングされた、指定されたピクセルのアルファ成分
例外:
ClassCastException - inDatatransferType 型のプリミティブ配列でない場合
ArrayIndexOutOfBoundsException - inData がこの ColorModel のピクセル値を保持するのに十分な大きさでない場合
UnsupportedOperationException - この ColorModel でこの tranferType がサポートされていない場合

getRGB

public int getRGB(Object inData)
指定されたピクセルの色成分およびアルファ成分をデフォルト RGB カラーモデル形式で返します。必要な場合、色変換が行われます。ピクセル値は、オブジェクト参照として渡された transferType 型のデータ要素の配列で指定されます。inDatatransferType 型のプリミティブ配列でない場合は、ClassCastException がスローされます。inData の大きさがこの ColorModel のピクセル値を保持するのに十分でない場合は、ArrayIndexOutOfBoundsException がスローされます。戻り値は、あらかじめ乗算されていない形式になります。つまり、アルファがあらかじめ乗算されている場合、このメソッドは色成分でそれを除算します。アルファ値が 0 の場合、色の値は 0 になります。DirectColorModel はサブクラス化が可能なので、サブクラスはこのメソッドの実装を継承します。サブクラスがその実装をオーバーライドしない場合、サポートされていない transferType を使用していれば、例外がスローされします。
オーバーライド:
クラス ColorModel 内の getRGB
パラメータ:
inData - 指定されたピクセル
戻り値:
指定されたピクセルの色成分およびアルファ成分
例外:
UnsupportedOperationException - この ColorModel でこの tranferType がサポートされていない場合
関連項目:
ColorModel.getRGBdefault()

getDataElements

public Object getDataElements(int rgb,
                              Object pixel)
デフォルト RGB カラーモデルの int ピクセル表現を指定して、この ColorModel のピクセルのデータ要素配列表現を返します。この配列は、WritableRaster オブジェクトの setDataElements メソッドに渡すことができます。pixel 変数が null の場合は、新しい配列が割り当てられます。pixelnull でない場合は、transferType 型のプリミティブ配列にする必要があります。そうでない場合は ClassCastException がスローされます。pixel の大きさがこの ColorModel のピクセル値を保持するのに十分でない場合は、ArrayIndexOutOfBoundsException がスローされます。ピクセル配列が返されます。DirectColorModel はサブクラス化が可能なので、サブクラスはこのメソッドの実装を継承します。サブクラスがその実装をオーバーライドしない場合、サポートされていない transferType を使用していれば、例外がスローされます。
オーバーライド:
クラス ColorModel 内の getDataElements
パラメータ:
rgb - デフォルト RGB カラーモデルの int ピクセル表現
pixel - 指定されたピクセル
戻り値:
この ColorModel の指定されたピクセルの配列表現
例外:
ClassCastException - pixeltransferType 型のプリミティブ配列でない場合
ArrayIndexOutOfBoundsException - pixel がこの ColorModel のピクセル値を保持するのに十分な大きさでない場合
UnsupportedOperationException - この ColorModel でこの tranferType がサポートされていない場合
関連項目:
WritableRaster.setDataElements(int, int, java.lang.Object), SampleModel.setDataElements(int, int, java.lang.Object, java.awt.image.DataBuffer)

getComponents

public final int[] getComponents(int pixel,
                                 int[] components,
                                 int offset)
この ColorModel のピクセルを指定して、標準化されていない色成分とアルファ成分の配列を返します。ピクセル値は int として指定されます。components 配列が null の場合、新しい配列が割り当てられます。components 配列が返されます。色成分とアルファ成分は、offset を起点に components 配列に格納されます。配列がこのメソッドで割り当てられている場合も同様です。components 配列が null でなく、(offset を起点に) 色成分とアルファ成分のすべてを保持するのに十分な大きさでない場合は、ArrayIndexOutOfBoundsException がスローされます。
オーバーライド:
クラス ColorModel 内の getComponents
パラメータ:
pixel - 指定されたピクセル
components - 指定されたピクセルの色成分およびアルファ成分を受け取る配列
offset - 色成分およびアルファ成分の格納を開始する、components 配列内のオフセット
戻り値:
指定されたオフセットから、指定されたピクセルの色成分およびアルファ成分が格納されている配列

getComponents

public final int[] getComponents(Object pixel,
                                 int[] components,
                                 int offset)
この ColorModel でピクセルを指定して、標準化されていない色成分とアルファ成分の配列を返します。ピクセル値は、オブジェクト参照として渡される transferType 型のデータ要素の配列によって指定されます。pixeltransferType 型のプリミティブ配列でない場合は、ClassCastException がスローされます。pixel がこの ColorModel のピクセル値を保持するのに十分でない場合は、ArrayIndexOutOfBoundsException がスローされます。components 配列が null の場合は、新しい配列が割り当てられます。components 配列が返されます。色成分とアルファ成分は、offset を起点に components 配列に格納されます。配列がこのメソッドで割り当てられている場合も同様です。components 配列が null でなく、(offset を起点に) 色成分とアルファ成分のすべてを保持するのに十分な大きさでない場合は、ArrayIndexOutOfBoundsException がスローされます。DirectColorModel はサブクラス化できるため、サブクラスはこのメソッドの実装を継承します。サブクラスが実装をオーバーライドしない場合、サポートされていない transferType を使用していれば、例外がスローされます。
オーバーライド:
クラス ColorModel 内の getComponents
パラメータ:
pixel - 指定されたピクセル
components - 指定されたピクセルの色成分およびアルファ成分を受け取る配列
offset - 色成分およびアルファ成分の格納を開始する、components 配列内のオフセット
例外:
ClassCastException - pixeltransferType 型のプリミティブ配列でない場合
ArrayIndexOutOfBoundsException - pixel がこの ColorModel のピクセル値を保持するのに十分な大きさでない場合、あるいは components 配列が null ではなく offset を起点にすべての色成分およびアルファ成分を保持するのに十分な大きさでない場合
UnsupportedOperationException - このカラーモデルでこの transferType がサポートされていない場合

createCompatibleWritableRaster

public final WritableRaster createCompatibleWritableRaster(int w,
                                                           int h)
この ColorModel と互換性のあるデータレイアウト (SampleModel) を持つ、指定された幅と高さの WritableRaster を作成します。
オーバーライド:
クラス ColorModel 内の createCompatibleWritableRaster
パラメータ:
w - 新しい WritableRaster に適用される幅
h - 新しい WritableRaster に適用される高さ
戻り値:
指定された幅と高さを持つ WritableRaster オブジェクト
例外:
IllegalArgumentException - w または h がゼロ以下の場合
関連項目:
WritableRaster, SampleModel

getDataElement

public int getDataElement(int[] components,
                          int offset)
標準化されていない色成分とアルファ成分の配列を指定して、この ColorModel の int として表現されるピクセル値を返します。components 配列が offset を起点にすべての色成分とアルファ成分を保持するのに十分な大きさでない場合は、ArrayIndexOutOfBoundsException がスローされます。
オーバーライド:
クラス ColorModel 内の getDataElement
パラメータ:
components - 標準化されていない色成分およびアルファ成分の配列
offset - 色成分およびアルファ成分の取り出しを開始する、components 内のインデックス
戻り値:
指定された成分に対応する、この ColorModel 内の int ピクセル値
例外:
ArrayIndexOutOfBoundsException - components 配列の大きさが offset を起点にすべての色成分およびアルファ成分を保持するのに十分でない場合

getDataElements

public Object getDataElements(int[] components,
                              int offset,
                              Object obj)
標準化されていない色成分およびアルファ成分の配列を指定して、この ColorModel のピクセルのデータ要素配列表現を返します。この配列は、WritableRaster オブジェクトの setDataElements メソッドに渡すことができます。offset を起点にした components 配列が、すべての色成分およびアルファ成分を保持するのに十分な大きさでない場合は、ArrayIndexOutOfBoundsException がスローされます。obj 変数が null の場合は、新しい配列が割り当てられます。objnull でない場合は、transferType 型のプリミティブ配列でなければなりません。そうでない場合は、ClassCastException がスローされます。obj がこの ColorModel のピクセル値を保持するのに十分な大きさでない場合は、ArrayIndexOutOfBoundsException がスローされます。DirectColorModel はサブクラス化できるため、サブクラスはこのメソッドの実装を継承します。サブクラスがその実装をオーバーライドしない場合、サポートされていない transferType を使用していれば、例外がスローされます。
オーバーライド:
クラス ColorModel 内の getDataElements
パラメータ:
components - 標準化されていない色成分およびアルファ成分の配列
offset - 色成分およびアルファ成分の取り出しを開始する、components 内のインデックス
obj - 色成分およびアルファ成分の配列を表す Object
戻り値:
色成分およびアルファ成分の配列を表す Object
例外:
ClassCastException - objtransferType 型のプリミティブ配列でない場合
ArrayIndexOutOfBoundsException - obj がこの ColorModel のピクセル値を保持するのに十分な大きさでない場合、あるいは offset を起点にした components 配列がすべての色成分およびアルファ成分を保持するのに十分な大きさでない場合
UnsupportedOperationException - このカラーモデルでこの transferType がサポートされていない場合
関連項目:
WritableRaster.setDataElements(int, int, java.lang.Object), SampleModel.setDataElements(int, int, java.lang.Object, java.awt.image.DataBuffer)

coerceData

public final ColorModel coerceData(WritableRaster raster,
                                   boolean isAlphaPremultiplied)
ラスタデータが isAlphaPremultiplied 変数で指定された状態と一致するようにします。このとき、データはこの ColorModel によって現在正しく記述されていると見なされます。このメソッドは、カラーラスタデータをアルファで乗算または除算します。データが正しい状態にある場合には、処理は行いません。データが強制的に型変換される必要がある場合、このメソッドは isAlphaPremultiplied フラグを正しく設定した、この ColorModel のインスタンスも返します。この ColorModel によってサポートされていない場合、このメソッドは UnsupportedOperationException をスローします。ColorModel はサブクラス化が可能なので、サブクラスはこのメソッドの実装を継承します。サブクラスがその実装をオーバーライドしない場合、サポートされていない transferType を使用していれば、例外がスローされます。
オーバーライド:
クラス ColorModel 内の coerceData
パラメータ:
raster - WritableRaster データ
isAlphaPremultiplied - アルファがあらかじめ乗算される場合は true、そうでない場合は false
戻り値:
強制的に型変換されたデータを表す ColorModel オブジェクト
例外:
UnsupportedOperationException - このカラーモデルでこの transferType がサポートされていない場合

isCompatibleRaster

public boolean isCompatibleRaster(Raster raster)
raster がこの ColorModel と互換性がある場合には true を返し、そうでない場合には false を返します。
オーバーライド:
クラス ColorModel 内の isCompatibleRaster
パラメータ:
raster - 互換性を判定する Raster オブジェクト
戻り値:
raster がこの ColorModel と互換性がある場合は true、そうでない場合は false

toString

public String toString()
この DirectColorModel を表す String を返します。
オーバーライド:
クラス ColorModel 内の toString
戻り値:
この DirectColorModel を表す String

JavaTM 2 Platform
Std. Ed. v1.3

バグや機能要求の報告
さらに詳しい API リファレンスおよび開発者ドキュメントについては、 Java 2 SDK SE Developer Documentation を参照してください。このドキュメントには、概念、用語の定義、回避策、 実用的なコード例など、開発者を対象にした詳細な解説が掲載されています。

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.