JavaTM Platform
Standard Ed. 6

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 とだけ一緒に使うことができます。さらに、ColorSpace の各コンポーネントで、getMinValue() メソッドで取得される最小標準化成分値が 0.0、getMaxValue() メソッドで取得される最大標準化成分値が 1.0 でなければなりません。 この最小値と最大値は RGB 領域における典型的な値です。ピクセル値には、カラーサンプルが 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 カラーモデルの整数型ピクセル表現を指定して、この 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, getDataElement, getDataElements, getNormalizedComponents, 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、最小標準化成分値はすべて 0.0、最大標準化成分値はすべて 1.0 である必要があります。このマスクは、int ピクセル表現のどのビットが赤、緑、青のカラーサンプルを格納するか、アルファサンプルがあればどのビットが格納するかを指定します。amask が 0 であれば、ピクセル値はアルファ情報を格納しないので、すべてのピクセルは不透明 (アルファ = 1.0) として処理されます。各マスク内のすべてのビットは連続していて、int ピクセル表現の指定桁数の最下位ビットに収まる必要があります。アルファがある場合は、boolean 型の isAlphaPremultiplied がピクセル値のカラーサンプルとアルファサンプルの解釈方法を指定します。boolean 型が true の場合、カラーサンプルはアルファサンプルで乗算されたものと見なされます。透明度の値は、アルファが存在しない場合には Transparency.OPAQUE に、そうでない場合には Transparency.TRANSLUCENT になります。転送型は、ピクセル値を表現するのに使うプリミティブ配列の型で、DataBuffer.TYPE_BYTE、DataBuffer.TYPE_USHORT、または DataBuffer.TYPE_INT のいずれかである必要があります。

パラメータ:
space - 指定された ColorSpace
bits - ピクセル値のビット数。たとえば マスク内のビット数の合計
rmask - int ピクセル表現のどのビットが赤の色成分を 格納するかを示すマスクを指定する
gmask - int ピクセル表現のどのビットが緑の色成分を 格納するかを示すマスクを指定する
bmask - int ピクセル表現のどのビットが青の色成分を 格納するかを示すマスクを指定する
amask - int ピクセル表現のどのビットがアルファ成分を 格納するかを示すマスクを指定する
isAlphaPremultiplied - カラーサンプルがアルファサンプルによって あらかじめ乗算されている場合は true、そうでない場合は false
transferType - ピクセル値を表すのに使用される配列の型
例外:
IllegalArgumentException - space が TYPE_RGB でない場合、または最小標準化成分値および最大標準化成分値が それぞれ 0.0/1.0 でない場合
メソッドの詳細

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 - この tranferType が この ColorModel でサポートされていない場合

getRGB

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

オーバーライド:
クラス ColorModel 内の getRGB
パラメータ:
inData - 指定されたピクセル
戻り値:
指定されたピクセルの色成分およびアルファ成分
例外:
UnsupportedOperationException - この transferType が この ColorModel でサポートされていない場合
関連項目:
ColorModel.getRGBdefault()

getDataElements

public Object getDataElements(int rgb,
                              Object pixel)
デフォルト RGB カラーモデルの整数型ピクセル表現を指定して、この ColorModel のピクセルのデータ要素配列表現を返します。この配列は、WritableRaster オブジェクトの setDataElements メソッドに渡すことができます。ピクセル変数が null の場合は、新しい配列が割り当てられます。pixelnull でない場合は、transferType 型のプリミティブ配列である必要があります。 そうでない場合は、ClassCastException がスローされます。pixel がこの ColorModel のピクセル値を格納できるほど大きくない場合は、ArrayIndexOutOfBoundsException がスローされます。ピクセル配列が返されます。DirectColorModel はサブクラス化できるため、サブクラスはこのメソッドの実装を継承します。 サブクラスがその実装をオーバーライドしない場合、サポートされていない transferType を使用していれば、例外がスローされます。

オーバーライド:
クラス ColorModel 内の getDataElements
パラメータ:
rgb - デフォルト RGB カラーモデルの整数型 ピクセル表現
pixel - 指定されたピクセル
戻り値:
この ColorModel の指定されたピクセルの 配列表現
例外:
ClassCastException - pixeltransferType 型のプリミティブ配列でない場合
ArrayIndexOutOfBoundsException - pixel がこの ColorModel のピクセル値を 保持するのに十分な大きさではない場合
UnsupportedOperationException - この transferTypeColorModel でサポートされてない場合
関連項目:
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 のピクセル値を 保持するのに十分な大きさでない場合、または componentsnull でなく、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 が 0 以下である場合
関連項目:
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 のピクセル値を 保持するのに十分な大きさでない場合、または components 配列が offset を起点にすべての色成分およびアルファ成分を格納するのに 十分な大きさでない場合
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 のインスタンスも返します。この transferType がこの 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 Platform
Standard Ed. 6

バグの報告と機能のリクエスト
さらに詳しい API リファレンスおよび開発者ドキュメントについては、Java SE 開発者用ドキュメントを参照してください。開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、およびコード実例が含まれています。

Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。