モジュール java.desktop
パッケージ java.awt.image

クラスComponentColorModel

java.lang.Object
java.awt.image.ColorModel
java.awt.image.ComponentColorModel
すべての実装されたインタフェース:
Transparency

public class ComponentColorModel extends ColorModel
これはColorModelクラスの1つで、ピクセル値を扱います。このピクセル値は、色情報およびアルファ情報を個別のサンプルとして表現し、各サンプルを個別のデータ要素に格納します。 このクラスは、任意のColorSpaceと一緒に使うことができます。 ピクセル値に含まれるカラー・サンプル数は、ColorSpaceの色成分の数と一致する必要があります。 アルファ・サンプルは、単一でもかまいません。

transferType型のプリミティブ配列ピクセル表現を使うメソッドの場合、配列の長さはカラー・サンプルおよびアルファ・サンプルの数と等しくなります。 配列にはカラー・サンプルが最初に格納され、アルファ・サンプルがあれば、そのあとに格納されます。 カラー・サンプルの順序は、ColorSpaceで指定します。 通常、この順序はカラー・スペースの型の名前を反映します。 たとえば、TYPE_RGBの場合、インデックス0は赤、インデックス1は緑、インデックス2は青に対応します。

表示、あるいはイメージ処理のためにピクセル値を色成分またはアルファ成分に変換する処理は、サンプルと成分の1対1対応になります。 ComponentColorModelのインスタンスの作成に使用する転送型に応じて、インスタンスが符号付きか符号なしか、および整数型、float、doubleのいずれか(詳細は以降を参照)によって、ピクセル・サンプル値は表現されます。 サンプル値を色成分またはアルファ成分に変換する処理は、特定のルールに従う必要があります。 floatおよびdoubleのサンプルの場合は恒等変換で、標準化成分値が対応するサンプル値と等しくなります。 整数サンプルの場合は、単純なスケールおよびオフセットのみの変換です。スケール定数とオフセット定数は成分ごとに異なることがあります。 スケール定数とオフセット定数を適用した結果は、特定の範囲に確実に収まる色成分およびアルファ成分の値のセットです。 通常、色成分の範囲はColorSpaceクラスのgetMinValueメソッドとgetMaxValueメソッドによって定義されます。 アルファ成分の範囲は0.0 - 1.0です。

転送型DataBuffer.TYPE_BYTEDataBuffer.TYPE_USHORT、およびDataBuffer.TYPE_INTで作成されたComponentColorModelのインスタンスは、符号なし整数値として扱われるピクセル・サンプル値を持ちます。 ピクセル値の色サンプルとアルファ・サンプルのビット数は、ComponentColorModel(ColorSpace, int[], boolean, boolean, int, int)コンストラクタに渡された、対応するカラー・サンプルおよびアルファ・サンプルのビット数と異なる場合があります。 この場合、このクラスは、サンプル値の最下位nビットが成分の値を保持していると見なします。このときnは、コンストラクタに渡された成分の有効ビットの数です。 また、より上位にあるサンプル値の任意のビットについては、すべて0であると見なされます。 したがって、サンプル値の範囲は0から2n - 1になります。 このクラスは、これらのサンプル値を、各コンポーネントのColorSpace's getMinValueメソッドから取得した値に0がマップされるように正規化されたカラー・コンポーネント値にマップし、2n - 1はgetMaxValueから得られた値にマップされます。 異なるカラー・サンプルのマッピングのComponentColorModellを作成するには、このクラスのサブクラス化し、getNormalizedComponents(Object, float[], int)メソッドをオーバーライドする必要があります。 アルファ・サンプルの場合、常に0が0.0に、2n - 1が1.0にマップされます。

符号なしサンプル値を持つインスタンスでは、次の2つの条件が満たされる場合にのみ、標準化されていない色成分およびアルファ成分表現がサポートされます。 まず、サンプル値0は、正規化されたコンポーネント値0.0とサンプル値2n - 1から1.0にマップされなければなりません。 もう1つは、ColorSpaceのすべての色成分の最小/最大範囲が0.0 - 1.0であることです。 この場合、成分表現は対応するサンプルの最下位nビットになります。 したがって、各成分は0と2n - 1の間の符号なし整数値です。このときnは、特定の成分の有効ビット数です。 これらの条件が満たされない場合は、非標準化成分の引数を取る任意のメソッドがIllegalArgumentExceptionをスローします。

転送型DataBuffer.TYPE_SHORTDataBuffer.TYPE_FLOAT、およびDataBuffer.TYPE_DOUBLEで作成されたComponentColorModelのインスタンスは、符号付きshort、float、またはdouble値として扱われるピクセル・サンプル値を保持します。 これらのインスタンスは標準化されていない色成分およびアルファ成分表現をサポートしないため、インスタンスを呼び出すと、引数にこれらの表現を取るメソッドはIllegalArgumentExceptionをスローします。 このクラスのインスタンスの標準化成分値は、次の転送型に対応した範囲を持ちます。floatサンプルはfloatデータ型の全範囲、doubleサンプルはfloatデータ型の全範囲(doubleをfloatにキャストした結果)、shortサンプルはほぼ -maxValから+maxValです。maxValはColorSpaceの成分あたりの最大値です(-32767が -maxValに、0が0.0に、32767が+maxValにマップされます)。 サブクラスは、getNormalizedComponents(Object, float[], int)メソッドをオーバーライドすることにより、shortサンプル値の標準化成分値へのスケーリングをオーバーライドすることがあります。 floatサンプルとdoubleサンプルについては、標準化成分値が対応するサンプル値と等しくなり、サブクラスはこれらの転送型のどの非恒等変換スケーリングも追加しません。

転送型DataBuffer.TYPE_SHORTDataBuffer.TYPE_FLOAT、およびDataBuffer.TYPE_DOUBLEで作成されたComponentColorModelのインスタンスは、すべてのサンプル値のすべてのビットを使用します。 したがって、すべての色成分およびアルファ成分は、DataBuffer.TYPE_SHORTの場合は16ビット、DataBuffer.TYPE_FLOATの場合は32ビット、DataBuffer.TYPE_DOUBLEの場合は64ビットを保持します。 ComponentColorModel(ColorSpace, int[], boolean, boolean, int, int)形式のコンストラクタがこれらの転送型で使用される場合、ビット配列引数は無視されます。

カラー・サンプル値とアルファ・サンプル値が描画する成分値として適切に解釈されないこともあります。 これは、ComponentColorModelが、符号なしサンプル値の標準化された色成分値へのマッピングをオーバーライドするためサブクラス化されているか、特定の範囲外の符号付きサンプル値が使用されている場合に起こります。 たとえば、アルファ成分を0 - 32767の範囲にない符号付きshort値、標準化範囲0.0 - 1.0として指定すると、予期しない結果になります。 色成分がColorSpaceの標準化範囲(ColorSpaceクラスのgetMinValueメソッドとgetMaxValueメソッドを使用して取得)内にあり、アルファ成分が0.0 - 1.0であるように、描画の前にアプリケーション側でピクセル・データを適切にスケーリングする必要があります。 色成分値またはアルファ成分値が範囲外にある場合には、描画結果を確定できません。

ComponentColorModelの成分数が1でコンポーネント値が符号なし(つまり、転送型DataBuffer.TYPE_BYTEDataBuffer.TYPE_USHORT、またはDataBuffer.TYPE_INTを使用する単一の色成分のみで、アルファ成分がない)以外の場合、単一のintピクセル表現を使うメソッドはIllegalArgumentExceptionをスローします。

ComponentColorModelは、ComponentSampleModelBandedSampleModel、またはPixelInterleavedSampleModelと組み合わせて、BufferedImageの作成に使用できます。

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

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

    pixel_bits, transferType

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

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

    コンストラクタ
    コンストラクタ
    説明
    ComponentColorModel(ColorSpace colorSpace, boolean hasAlpha, boolean isAlphaPremultiplied, int transparency, int transferType)
    指定されたパラメータからComponentColorModelを構築します。
    ComponentColorModel(ColorSpace colorSpace, int[] bits, boolean hasAlpha, boolean isAlphaPremultiplied, int transparency, int transferType)
    指定されたパラメータからComponentColorModelを構築します。
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    coerceData(WritableRaster raster, boolean isAlphaPremultiplied)
    ラスター・データがisAlphaPremultiplied変数で指定された状態と一致するようにします。このとき、データはこのColorModelによって現在正しく記述されていると見なされます。
    このColorModelと互換性のあるデータ・レイアウトを持つ、指定された幅と高さのSampleModelを作成します。
    このColorModelと互換性のあるデータ・レイアウト(SampleModel)を持つ、指定された幅と高さのWritableRasterを作成します。
    boolean
    指定されたObjectComponentColorModelのインスタンスであり、このComponentColorModelと等しいかどうかをテストします。
    int
    getAlpha(int pixel)
    指定されたピクセルのアルファ成分を、0 - 255の範囲でスケーリングして返します。
    int
    getAlpha(Object inData)
    指定されたピクセルのアルファ成分を、0 - 255の範囲でスケーリングして返します。
    イメージのアルファ・チャネルを表現するRasterを、入力されたRasterから抽出して返します。
    int
    getBlue(int pixel)
    指定されたピクセルの青の色成分を、デフォルトのRGB ColorSpace、つまりsRGBの0 - 255の範囲でスケーリングして返します。
    int
    getBlue(Object inData)
    指定されたピクセルの青の色成分を、デフォルトのRGB ColorSpace、つまりsRGBの0 - 255の範囲でスケーリングして返します。
    int[]
    getComponents(int pixel, int[] components, int offset)
    このColorModelでピクセルを指定して、標準化されていない色成分とアルファ成分の配列を返します。
    int[]
    getComponents(Object pixel, int[] components, int offset)
    このColorModelでピクセルを指定して、標準化されていない色成分とアルファ成分の配列を返します。
    int
    getDataElement(float[] normComponents, int normOffset)
    標準化された色成分およびアルファ成分の配列を指定して、このColorModelintとして表されるピクセル値を返します。
    int
    getDataElement(int[] components, int offset)
    指定された、標準化されていない色成分とアルファ成分の配列について、このColorModelのintとして表現されるピクセル値を返します。
    getDataElements(float[] normComponents, int normOffset, Object obj)
    標準化された色成分およびアルファ成分の配列を指定して、このColorModelのピクセルのデータ要素配列表現を返します。
    getDataElements(int[] components, int offset, Object obj)
    標準化されていない色成分およびアルファ成分の配列を指定して、このColorModelのピクセルのデータ要素配列表現を返します。
    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の範囲でスケーリングして返します。
    float[]
    getNormalizedComponents(int[] components, int offset, float[] normComponents, int normOffset)
    非標準化成分配列を指定して、標準化形式ですべての色成分およびアルファ成分の配列を返します。
    float[]
    getNormalizedComponents(Object pixel, float[] normComponents, int normOffset)
    このColorModelの指定されたピクセルについて、標準化形式で色成分とアルファ成分の配列を返します。
    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カラー・モデル形式で返します。
    int[]
    getUnnormalizedComponents(float[] normComponents, int normOffset, int[] components, int offset)
    標準化成分配列を指定して、非標準化形式ですべての色成分およびアルファ成分の配列を返します。
    int
    このComponentColorModelのハッシュ・コードを返します。
    boolean
    rasterがこのColorModelと互換性がある場合にtrueを返し、そうでない場合はfalseを返します。
    boolean
    指定されたSampleModelがこのColorModelと互換性があるかどうかを判定します。

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

    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
  • コンストラクタの詳細

    • ComponentColorModel

      public ComponentColorModel(ColorSpace colorSpace, int[] bits, boolean hasAlpha, boolean isAlphaPremultiplied, int transparency, int transferType)
      指定されたパラメータからComponentColorModelを構築します。 色成分は、指定されたColorSpace内になります。 サポートされる転送型は、DataBuffer.TYPE_BYTEDataBuffer.TYPE_USHORTDataBuffer.TYPE_INTDataBuffer.TYPE_SHORTDataBuffer.TYPE_FLOAT、およびDataBuffer.TYPE_DOUBLEです。 nullでない場合、bits配列は、色成分およびアルファ成分ごとの有効ビット数を指定します。ピクセル値にアルファ情報がない場合、配列の長さは少なくともColorSpaceにある成分数になり、アルファ情報がある場合は、この数よりも1大きくなります。 transferTypeDataBuffer.TYPE_SHORTDataBuffer.TYPE_FLOAT、またはDataBuffer.TYPE_DOUBLEの場合、bits配列引数は無視されます。hasAlphaは、アルファ情報の有無を示します。 hasAlphaがtrueの場合、boolean型のisAlphaPremultipliedは、ピクセル値にあるカラー・サンプルおよびアルファ・サンプルを評価する方法を指定します。 booleanがtrueの場合は、カラー・サンプルはアルファ・サンプルと乗算されたと見なされます。 transparencyは、このカラー・モデルで表現できるアルファ値を指定します。 許容されるtransparency値はOPAQUEBITMASK、またはTRANSLUCENTです。 transferTypeは、ピクセル値の表現に使用するプリミティブ配列の型です。
      パラメータ:
      colorSpace - このカラー・モデルに関連したColorSpace
      bits - 1成分当たりの有効ビット数。 nullの場合、すべての成分サンプルのすべてのビットが有効になる。 transferTypeがDataBuffer.TYPE_SHORTDataBuffer.TYPE_FLOAT、またはDataBuffer.TYPE_DOUBLEの場合は無視され、すべての成分サンプルのすべてのビットが有効になる。
      hasAlpha - trueの場合、このカラー・モデルはアルファをサポートする。
      isAlphaPremultiplied - trueの場合、アルファはあらかじめ乗算されている。
      transparency - このカラー・モデルで表現可能なアルファ値を指定する。
      transferType - ピクセル値を表現するために使うプリミティブ配列の型を指定する。
      例外:
      IllegalArgumentException - bits配列引数がnullでない場合、その長さが色成分およびアルファ成分の数より小さい場合、transferTypeがDataBuffer.TYPE_BYTEDataBuffer.TYPE_USHORTDataBuffer.TYPE_INTのいずれかである場合。
      IllegalArgumentException - transferTypeがDataBuffer.TYPE_BYTEDataBuffer.TYPE_USHORTDataBuffer.TYPE_INTDataBuffer.TYPE_SHORTDataBuffer.TYPE_FLOATDataBuffer.TYPE_DOUBLEのいずれでもない場合。
      関連項目:
    • ComponentColorModel

      public ComponentColorModel(ColorSpace colorSpace, boolean hasAlpha, boolean isAlphaPremultiplied, int transparency, int transferType)
      指定されたパラメータからComponentColorModelを構築します。 色成分は、指定されたColorSpace内になります。 サポートされる転送型は、DataBuffer.TYPE_BYTEDataBuffer.TYPE_USHORTDataBuffer.TYPE_INTDataBuffer.TYPE_SHORTDataBuffer.TYPE_FLOAT、およびDataBuffer.TYPE_DOUBLEです。 色成分およびアルファ成分ごとの有効ビット数は、それぞれ8、16、32、16、32、64です。 色成分数はColorSpaceにある成分数になります。 hasAlphatrueの場合、アルファ成分があります。 hasAlphaがtrueの場合、boolean型のisAlphaPremultipliedは、ピクセル値にあるカラー・サンプルおよびアルファ・サンプルを評価する方法を指定します。 booleanがtrueの場合は、カラー・サンプルはアルファ・サンプルと乗算されたと見なされます。 transparencyは、このカラー・モデルで表現できるアルファ値を指定します。 許容されるtransparency値はOPAQUEBITMASK、またはTRANSLUCENTです。 transferTypeは、ピクセル値の表現に使用するプリミティブ配列の型です。
      パラメータ:
      colorSpace - このカラー・モデルに関連したColorSpace
      hasAlpha - trueの場合、このカラー・モデルはアルファをサポートする。
      isAlphaPremultiplied - trueの場合、アルファはあらかじめ乗算されている。
      transparency - このカラー・モデルで表現可能なアルファ値を指定する。
      transferType - ピクセル値を表現するために使うプリミティブ配列の型を指定する。
      例外:
      IllegalArgumentException - transferTypeがDataBuffer.TYPE_BYTEDataBuffer.TYPE_USHORTDataBuffer.TYPE_INTDataBuffer.TYPE_SHORTDataBuffer.TYPE_FLOATDataBuffer.TYPE_DOUBLEのいずれでもない場合。
      導入されたバージョン:
      1.4
      関連項目:
  • メソッドの詳細

    • getRed

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

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

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

      public int getAlpha(int pixel)
      指定されたピクセルのアルファ成分を、0 - 255の範囲でスケーリングして返します。 ピクセル値はintとして指定されます。
      定義:
      getAlpha、クラス: ColorModel
      パラメータ:
      pixel - アルファ成分を取得するピクセル。
      戻り値:
      指定されたピクセルのアルファ成分(int)
      例外:
      IllegalArgumentException - このColorModelに2つ以上の成分がある場合。
      IllegalArgumentException - このColorModelの成分値が符号付きの場合
    • getRGB

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

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

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

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

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

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

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

      public int[] getComponents(int pixel, int[] components, int offset)
      このColorModelでピクセルを指定して、標準化されていない色成分とアルファ成分の配列を返します。 このColorModelの成分値が非標準化形式で表現できない場合は、IllegalArgumentExceptionがスローされます。 色成分とアルファ成分は、offsetから始まるcomponents配列に格納されます。これは、配列がこのメソッドで割り当てられても変わりません。
      オーバーライド:
      getComponents、クラス: ColorModel
      パラメータ:
      pixel - 整数で指定されるピクセル値。
      components - 標準化されていない色成分またはアルファ成分を格納する整数型の配列。 components配列がnullの場合は、新しい配列が割り当てられる。
      offset - components配列へのオフセット。
      戻り値:
      components配列
      例外:
      IllegalArgumentException - このColorModelに2つ以上の成分がある場合。
      IllegalArgumentException - このColorModelが非標準化形式をサポートしない場合
      ArrayIndexOutOfBoundsException - components配列がnullでない場合に、オフセットを起点にすべての色成分およびアルファ成分を格納するのに十分な大きさでない場合。
    • getComponents

      public int[] getComponents(Object pixel, int[] components, int offset)
      このColorModelでピクセルを指定して、標準化されていない色成分とアルファ成分の配列を返します。 pixel値は、オブジェクト参照として渡されたtransferType型のデータ要素からなる配列によって指定されます。 このColorModelの成分値が非標準化形式で表現できない場合は、IllegalArgumentExceptionがスローされます。 色成分とアルファ成分は、offsetから始まるcomponents配列に格納されます。これは、配列がこのメソッドで割り当てられても変わりません。 ComponentColorModelはサブクラス化できるため、サブクラスはこのメソッドの実装を継承しますが、サブクラスがその実装をオーバーライドせず、しかもサポートされていないtransferTypeを使用した場合、このメソッドは例外をスローすることがあります。
      オーバーライド:
      getComponents、クラス: ColorModel
      パラメータ:
      pixel - transferType型のデータ要素の配列で指定されるピクセル値。
      components - 標準化されていない色成分またはアルファ成分を格納する整数型の配列。 components配列がnullの場合は、新しい配列が割り当てられる。
      offset - components配列へのオフセット。
      戻り値:
      components配列。
      例外:
      IllegalArgumentException - このComponentColorModelが非標準化形式をサポートしない場合
      UnsupportedOperationException - このComponentColorModelの転送型が、DataBuffer.TYPE_BYTEDataBuffer.TYPE_USHORTDataBuffer.TYPE_INTの転送型のいずれでもない場合。
      ClassCastException - pixeltransferType型のプリミティブ配列でない場合。
      IllegalArgumentException - components配列がnullでなく、オフセットを起点にすべての色成分およびアルファ成分を格納するのに十分な大きさでない場合。またはpixelがこのColorModelのピクセル値を保持するのに十分な大きさでない場合。
    • getUnnormalizedComponents

      public int[] getUnnormalizedComponents(float[] normComponents, int normOffset, int[] components, int offset)
      標準化成分配列を指定して、非標準化形式ですべての色成分およびアルファ成分の配列を返します。 非標準化成分は、0と2n - 1の間の符号なし整数値です。nは、特定の成分のビット数です。 標準化成分は、このColorModelColorSpaceオブジェクトによって指定された成分ごとの最小と最大の間のfloat値です。 このColorModelの色成分値が非標準化形式で表現できない場合は、IllegalArgumentExceptionがスローされます。 componentsの配列がnullの場合は、新しい配列が割り当てられます。 components配列が返されます。 色成分とアルファ成分は、offsetから始まるcomponents配列に格納されます。これは、配列がこのメソッドで割り当てられても変わりません。 components配列がnullでない場合に、(offsetを起点に)すべての色成分およびアルファ成分を保持するのに十分な大きさでないときは、ArrayIndexOutOfBoundsExceptionがスローされます。 normComponents配列がnormOffsetを起点にすべての色成分とアルファ成分を保持するのに十分な大きさでない場合は、IllegalArgumentExceptionがスローされます。
      オーバーライド:
      getUnnormalizedComponents、クラス: ColorModel
      パラメータ:
      normComponents - 標準化成分を格納している配列
      normOffset - 標準化成分の取得を開始する、normComponents配列へのオフセット
      components - normComponentsから成分を受け取る配列
      offset - normComponentsから標準化成分の格納を開始する、componentsのインデックス
      戻り値:
      標準化されていない色成分およびアルファ成分が格納されている配列
      例外:
      IllegalArgumentException - このComponentColorModelが非標準化形式をサポートしない場合
      IllegalArgumentException - normComponentsの長さマイナスnormOffsetが、numComponentsより小さい場合
    • getNormalizedComponents

      public float[] getNormalizedComponents(int[] components, int offset, float[] normComponents, int normOffset)
      非標準化成分配列を指定して、標準化形式ですべての色成分およびアルファ成分の配列を返します。 非標準化成分は、0と2n - 1の間の符号なし整数値です。nは、特定の成分のビット数です。 標準化成分は、このColorModelColorSpaceオブジェクトによって指定された成分ごとの最小と最大の間のfloat値です。 このColorModelの色成分値が非標準化形式で表現できない場合は、IllegalArgumentExceptionがスローされます。 normComponentsの配列がnullの場合は、新しい配列が割り当てられます。 normComponents配列が返されます。 色成分とアルファ成分は、normOffsetから始まるnormComponents配列に格納されます。これは、配列がこのメソッドで割り当てられても変わりません。 normComponents配列がnullでない場合に、(normOffsetを起点に)すべての色成分およびアルファ成分を保持するのに十分な大きさでないときは、ArrayIndexOutOfBoundsExceptionがスローされます。 components配列がoffsetを起点にすべての色成分とアルファ成分を保持するのに十分な大きさでない場合は、IllegalArgumentExceptionがスローされます。
      オーバーライド:
      getNormalizedComponents、クラス: ColorModel
      パラメータ:
      components - 標準化されていない成分を格納している配列
      offset - 標準化されていない成分の取得を開始する、components配列へのオフセット
      normComponents - 標準化成分を受け取る配列
      normOffset - 標準化成分の格納を開始する、normComponentsのインデックス
      戻り値:
      標準化された色成分およびアルファ成分が格納されている配列
      例外:
      IllegalArgumentException - このComponentColorModelが非標準化形式をサポートしない場合
    • getDataElement

      public int getDataElement(int[] components, int offset)
      指定された、標準化されていない色成分とアルファ成分の配列について、このColorModelのintとして表現されるピクセル値を返します。
      オーバーライド:
      getDataElement、クラス: ColorModel
      パラメータ:
      components - 標準化されていない色成分またはアルファ成分の配列。
      offset - components配列へのオフセット。
      戻り値:
      intで表現されたピクセル値
      例外:
      IllegalArgumentException - このColorModelに2つ以上の成分がある場合。
      IllegalArgumentException - このComponentColorModelが非標準化形式をサポートしない場合
    • getDataElements

      public Object getDataElements(int[] components, int offset, Object obj)
      標準化されていない色成分およびアルファ成分の配列を指定して、このColorModelのピクセルのデータ要素配列表現を返します。 次に、この配列はWritableRasterオブジェクトのsetDataElementsメソッドに渡すことができます。
      オーバーライド:
      getDataElements、クラス: ColorModel
      パラメータ:
      components - 標準化されていない色成分またはアルファ成分の配列。
      offset - components配列内のintオフセット。
      obj - ピクセルのデータ要素配列表現を格納するオブジェクト。 obj変数がnullの場合は、新しい配列が割り当てられます。 objがnullでない場合は、transferType型のプリミティブ配列でなければなりません。 objがこのColorModelのピクセル値を保持するのに十分な大きさでない場合は、ArrayIndexOutOfBoundsExceptionがスローされます。 ComponentColorModelはサブクラス化できるため、サブクラスはこのメソッドの実装を継承します。サブクラスがオーバーライドしない場合、サポートされていないtransferTypeを使用した場合は例外をスローします。
      戻り値:
      このColorModelのピクセルのデータ要素配列表現。
      例外:
      IllegalArgumentException - components配列がオフセットを起点にすべての色成分およびアルファ成分を格納するのに十分な大きさでない場合。
      ClassCastException - objがnullでなく、transferType型のプリミティブ配列でない場合。
      ArrayIndexOutOfBoundsException - objがこのColorModelのピクセル値を保持するのに十分な大きさでない場合。
      IllegalArgumentException - このComponentColorModelが非標準化形式をサポートしない場合
      UnsupportedOperationException - このComponentColorModelの転送型が、DataBuffer.TYPE_BYTEDataBuffer.TYPE_USHORTDataBuffer.TYPE_INTの転送型のいずれでもない場合。
      関連項目:
    • getDataElement

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

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

      public float[] getNormalizedComponents(Object pixel, float[] normComponents, int normOffset)
      このColorModelの指定されたピクセルについて、標準化形式で色成分とアルファ成分の配列を返します。 pixel値は、オブジェクト参照として渡されたtransferType型のデータ要素からなる配列によって指定されます。 pixelがtransferType型のプリミティブ配列でない場合は、ClassCastExceptionがスローされます。 pixelがこのColorModelのピクセル値を保持するのに十分な大きさでない場合は、ArrayIndexOutOfBoundsExceptionがスローされます。 標準化成分は、このColorModelColorSpaceオブジェクトによって指定された成分ごとの最小と最大の間のfloat値です。 normComponentsの配列がnullの場合は、新しい配列が割り当てられます。 normComponents配列が返されます。 色成分とアルファ成分は、normOffsetから始まるnormComponents配列に格納されます。これは、配列がこのメソッドで割り当てられても変わりません。 normComponents配列がnullでない場合に、(normOffsetを起点に)すべての色成分およびアルファ成分を保持するのに十分な大きさでないときは、ArrayIndexOutOfBoundsExceptionがスローされます。

      サブクラスがデフォルトとは異なる方法でピクセル・サンプル値を色成分値へ変換するよう設計されている場合は、このメソッドをサブクラスでオーバーライドする必要があります。 このクラスにより実装されるデフォルトの変換は、クラスのコメントに記述されています。 デフォルトではない変換を実装するサブクラスは、このコメントに定義された許容変換の制約に従う必要があります。

      オーバーライド:
      getNormalizedComponents、クラス: ColorModel
      パラメータ:
      pixel - 指定されたピクセル
      normComponents - 標準化成分を受け取る配列
      normOffset - 標準化成分の格納を開始する、normComponents配列へのオフセット
      戻り値:
      標準化された色成分およびアルファ成分が格納されている配列
      例外:
      ClassCastException - pixelがtransferType型のプリミティブ配列でない場合
      ArrayIndexOutOfBoundsException - normComponentsnormOffsetを起点にすべての色成分とアルファ成分を保持するのに十分な大きさでない場合
      ArrayIndexOutOfBoundsException - pixelがこのColorModelのピクセル値を保持するのに十分な大きさでない場合。
      導入されたバージョン:
      1.4
    • coerceData

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

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

      public WritableRaster createCompatibleWritableRaster(int w, int h)
      このColorModelと互換性のあるデータ・レイアウト(SampleModel)を持つ、指定された幅と高さのWritableRasterを作成します。
      オーバーライド:
      createCompatibleWritableRaster、クラス: ColorModel
      パラメータ:
      w - 生成するWritableRasterの幅。
      h - 生成するWritableRasterの高さ。
      戻り値:
      このColorModelと互換性のあるWritableRaster
      関連項目:
    • createCompatibleSampleModel

      public SampleModel createCompatibleSampleModel(int w, int h)
      このColorModelと互換性のあるデータ・レイアウトを持つ、指定された幅と高さのSampleModelを作成します。
      オーバーライド:
      createCompatibleSampleModel、クラス: ColorModel
      パラメータ:
      w - 生成するSampleModelの幅。
      h - 生成するSampleModelの高さ。
      戻り値:
      このColorModelと互換性のあるSampleModel
      関連項目:
    • isCompatibleSampleModel

      public boolean isCompatibleSampleModel(SampleModel sm)
      指定されたSampleModelがこのColorModelと互換性があるかどうかを判定します。
      オーバーライド:
      isCompatibleSampleModel、クラス: ColorModel
      パラメータ:
      sm - 互換性を判定するSampleModel
      戻り値:
      SampleModelがこのColorModelと互換性がある場合はtrue、そうでない場合はfalse
      関連項目:
    • getAlphaRaster

      public WritableRaster getAlphaRaster(WritableRaster raster)
      イメージのアルファ・チャネルを表現するRasterを、入力されたRasterから抽出して返します。 このメソッドは、このColorModelに関連したRasterオブジェクトにアルファ・バンドがあれば、そのアルファ・バンドをイメージ・データの最終バンドとして格納していると見なします。 このColorModelに関連した空間アルファ・チャネルがほかにない場合は、nullを返します。 このメソッドは新しいRasterを作成しますが、データ配列は共有することになります。
      オーバーライド:
      getAlphaRaster、クラス: ColorModel
      パラメータ:
      raster - アルファ・チャネルを抽出するWritableRaster
      戻り値:
      イメージのアルファ・チャネルが格納されているWritableRaster
    • equals

      public boolean equals(Object obj)
      指定されたObjectComponentColorModelのインスタンスであり、このComponentColorModelと等しいかどうかをテストします。
      オーバーライド:
      equals、クラス: ColorModel
      パラメータ:
      obj - 等しいかどうかが判定されるObject
      戻り値:
      true指定されたObjectComponentColorModelのインスタンスであり、このComponentColorModelと等しい場合、それ以外の場合はfalse
      関連項目:
    • hashCode

      public int hashCode()
      このComponentColorModelのハッシュ・コードを返します。
      オーバーライド:
      クラスColorModelhashCode
      戻り値:
      このComponentColorModelのハッシュ・コード。
      関連項目: