モジュール 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になっているメソッドの実装に反映されているからです。 他の理由でこのクラスをサブクラス化することはできますが、それらのメソッドの動作をオーバーライドしたり、変更することはできません。

    関連項目:
    ColorModel, ColorSpace, SinglePixelPackedSampleModel, BufferedImage, ColorModel.getRGBdefault()
    • コンストラクタのサマリー

      コンストラクタ 
      コンストラクタ 説明
      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を構築します。
    • メソッドのサマリー

      修飾子と型 メソッド 説明
      ColorModel coerceData​(WritableRaster raster, boolean isAlphaPremultiplied)
      ラスター・データがisAlphaPremultiplied変数で指定された状態と一致するようにします。このとき、データはこのColorModelによって現在正しく記述されていると見なされます。
      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)
      標準化されていない色成分あるいはアルファ成分の配列を指定して、このColorModelintとして表現されるピクセル値を返します。
      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を返します。
    • コンストラクタの詳細

      • 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値
        関連項目:
        ColorModel.getRGBdefault()
      • 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がサポートされていない場合
        関連項目:
        ColorModel.getRGBdefault()
      • 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がサポートされていない場合
        関連項目:
        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がスローされます。
        オーバーライド:
        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以下である場合
        関連項目:
        WritableRasterSampleModel
      • 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がこのカラー・モデルでサポートされていない場合
        関連項目:
        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を使用した場合、例外がスローされます。
        オーバーライド:
        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