モジュール java.desktop
パッケージ 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ピクセル表現に適用されます。 次に、マスクと、カラー・サンプルとアルファ・サンプルの対応関係を示します。
  • マスクは、アルファがない場合は0 - 2までのインデックスで識別され、アルファがある場合は3までのインデックスで識別される
  • 最初の3つのインデックスはカラー・サンプルを参照する。インデックス0は赤に、インデックス1は緑に、インデックス2は青に対応する
  • アルファ・サンプルが存在する場合、インデックス3が対応する

表示または処理のためにピクセル値から色成分やアルファ成分に変換するときには、サンプルと成分は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になっているメソッドの実装に反映されているからです。 他の理由でこのクラスをサブクラス化することはできますが、それらのメソッドの動作をオーバーライドしたり、変更することはできません。

関連項目:
  • フィールドのサマリー

    クラス java.awt.image.ColorModelで宣言されたフィールド

    pixel_bits, transferType

    インタフェース java.awt.Transparencyで宣言されたフィールド

    BITMASK, OPAQUE, TRANSLUCENT
  • コンストラクタのサマリー

    コンストラクタ
    コンストラクタ
    説明
    DirectColorModel(int bits, int rmask, int gmask, int bmask)
    指定されたマスクから、intピクセル表現のどのビットが赤、緑、青のサンプルを格納するかを指定するDirectColorModelを構築します。
    DirectColorModel(int bits, int rmask, int gmask, int bmask, int amask)
    指定されたマスクから、DirectColorModelを構築します。このマスクは、intピクセル表現のどのビットが赤、緑、青のサンプルを格納するか、アルファ・サンプルがあればどのビットが格納するかを指定します。
    DirectColorModel(ColorSpace space, int bits, int rmask, int gmask, int bmask, int amask, boolean isAlphaPremultiplied, int transferType)
    指定されたパラメータからDirectColorModelを構築します。
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    coerceData(WritableRaster raster, boolean isAlphaPremultiplied)
    ラスター・データがisAlphaPremultiplied変数で指定された状態と一致するようにします。このとき、データはこのColorModelによって現在正しく記述されていると見なされます。
    このColorModelと互換性のあるデータ・レイアウト(SampleModel)を持つ、指定された幅と高さのWritableRasterを作成します。
    final int
    getAlpha(int pixel)
    指定されたピクセルのアルファ成分を、0 - 255の範囲でスケーリングして返します。
    int
    getAlpha(Object inData)
    指定されたピクセルのアルファ成分を、0 - 255の範囲でスケーリングして返します。
    final int
    intピクセル表現のどのビットがアルファ成分を格納しているかを示すマスクを返します。
    final int
    getBlue(int pixel)
    指定されたピクセルの青の色成分を、デフォルトのRGB ColorSpace、つまりsRGBの0 - 255の範囲でスケーリングして返します。
    int
    getBlue(Object inData)
    指定されたピクセルの青の色成分を、デフォルトのRGB ColorSpace、つまりsRGBの0 - 255の範囲でスケーリングして返します。
    final int
    intピクセル表現のどのビットが青の色成分を格納しているかを示すマスクを返します。
    final int[]
    getComponents(int pixel, int[] components, int offset)
    このColorModelでピクセルを指定して、標準化されていない色成分とアルファ成分の配列を返します。
    final int[]
    getComponents(Object pixel, int[] components, int offset)
    このColorModelでピクセルを指定して、標準化されていない色成分とアルファ成分の配列を返します。
    int
    getDataElement(int[] components, int offset)
    標準化されていない色成分あるいはアルファ成分の配列を指定して、このColorModelintとして表現されるピクセル値を返します。
    getDataElements(int[] components, int offset, Object obj)
    標準化されていない色成分およびアルファ成分の配列を指定して、このColorModelのピクセルのデータ要素配列表現を返します。
    getDataElements(int rgb, Object pixel)
    デフォルトRGBカラー・モデルの整数型ピクセル表現を指定して、このColorModelのピクセルのデータ要素配列表現を返します。
    final int
    getGreen(int pixel)
    指定されたピクセルの緑の色成分を、デフォルトのRGB ColorSpace、つまりsRGBの0 - 255の範囲でスケーリングして返します。
    int
    getGreen(Object inData)
    指定されたピクセルの緑の色成分を、デフォルトのRGB ColorSpace、つまりsRGBの0 - 255の範囲でスケーリングして返します。
    final int
    intピクセル表現のどのビットが緑の色成分を格納しているかを示すマスクを返します。
    final int
    getRed(int pixel)
    指定されたピクセルの赤の色成分を、デフォルトのRGB ColorSpace、つまりsRGBの0 - 255の範囲でスケーリングして返します。
    int
    getRed(Object inData)
    指定されたピクセルの赤の色成分を、デフォルトのRGB ColorSpace、つまりsRGBの0 - 255の範囲でスケーリングして返します。
    final int
    intピクセル表現のどのビットが赤の色成分を格納しているかを示すマスクを返します。
    final int
    getRGB(int pixel)
    ピクセルの色成分とアルファ成分を、デフォルトのRGBカラー・モデル形式で返します。
    int
    getRGB(Object inData)
    指定されたピクセルの色成分およびアルファ成分をデフォルトRGBカラー・モデル形式で返します。
    boolean
    rasterがこのColorModelと互換性がある場合にはtrueを返し、そうでない場合にはfalseを返します。
    このDirectColorModelを表すStringを返します。

    クラス java.lang.Objectで宣言されたメソッド

    clone, finalize, 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がピクセル値のカラー・サンプルとアルファ・サンプルの解釈方法を指定します。 booleantrueの場合は、カラー・サンプルはアルファ・サンプルと乗算されたと見なされます。 透明度の値は、アルファが存在しない場合には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になります。
      定義:
      getRed、クラス: ColorModel
      パラメータ:
      pixel - 指定されたピクセル
      戻り値:
      指定されたピクセルの赤色成分。sRGB ColorSpaceで0 - 255の範囲。
    • getGreen

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

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

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

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

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

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

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

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

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

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

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

      public final int[] getComponents(Object pixel, int[] components, int offset)
      このColorModelでピクセルを指定して、標準化されていない色成分とアルファ成分の配列を返します。 pixel値は、オブジェクト参照として渡されたtransferType型のデータ要素からなる配列によって指定されます。 pixeltransferType型のプリミティブ配列でない場合、ClassCastExceptionがスローされます。 pixelがこのColorModelのピクセル値を保持するのに十分な大きさでない場合は、ArrayIndexOutOfBoundsExceptionがスローされます。 components配列がnullの場合は、新しい配列が割り当てられる。 components配列が返されます。 色成分とアルファ成分は、配列がこのメソッドで割り当てられても、offsetから始まるcomponents配列に格納されます。 components配列がnullでない場合に、offsetを起点に、すべての色成分およびアルファ成分を保持するのに十分な大きさでないときは、ArrayIndexOutOfBoundsExceptionがスローされます。 DirectColorModelはサブクラス化できるため、サブクラスはこのメソッドの実装を継承します。サブクラスがオーバーライドしない場合、サポートされていないtransferTypeを使用した場合は例外をスローします。
      オーバーライド:
      getComponents、クラス: ColorModel
      パラメータ:
      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を作成します。
      オーバーライド:
      createCompatibleWritableRaster、クラス: ColorModel
      パラメータ:
      w - 新しいWritableRasterに適用される幅
      h - 新しいWritableRasterに適用される高さ
      戻り値:
      指定された幅と高さを持つWritableRasterオブジェクト。
      例外:
      IllegalArgumentException - wまたはh以下である場合
      関連項目:
    • getDataElement

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

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

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

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

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