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

クラスColorModel

  • すべての実装されたインタフェース:
    Transparency
    直系の既知のサブクラス:
    ComponentColorModel, IndexColorModel, PackedColorModel

    public abstract class ColorModel
    extends Object
    implements Transparency
    ColorModel抽象クラスは、ピクセル値を色成分(赤、緑、青など)およびアルファ成分に変換するメソッドをカプセル化します。 イメージをスクリーン、プリンタ、またはほかのイメージに描画するには、ピクセル値を色成分およびアルファ成分に変換する必要があります。 このクラスのメソッドの引数または戻り値として、ピクセルは32ビットintまたはプリミティブ型の配列として表されます。 ColorModelの色成分の数、順序、および解釈は、ColorSpaceで指定します。 アルファ情報を持たないピクセル・データとともに使用されるColorModelは、すべてのピクセルを不透明(アルファ値1.0)として処理します。

    このColorModelクラスでは、ピクセル値の2つの表現をサポートします。 ピクセル値は、単一の32ビットintまたはプリミティブ型の配列として表すことができます。 Java(TM) Platform 1.0および1.1 APIでは、ピクセルは単一のbyte値または単一のint値で表現されました。 ColorModelクラスでは、ピクセル値引数はintとして渡されました。 Java(TM) 2 Platform APIでは、イメージを表すための新しいクラスが導入されました。 RasterクラスおよびSampleModelクラスに基づくBufferedImageオブジェクトまたはRenderedImageオブジェクトの場合、ピクセル値は単一のintとしては表現できません。 このため、現在、ColorModelにはプリミティブ型の配列として表示されたピクセル値を受け入れるメソッドがあります。 特定のColorModelオブジェクトによって使用されるプリミティブ型は、転送型と呼ばれます。

    ピクセル値を単一のintとして表現できないイメージとともに使用されるColorModelオブジェクトは、単一のintピクセル引数をとるメソッドが呼び出されるとIllegalArgumentExceptionをスローします。 ColorModelのサブクラスでは、この例外が発生する条件を指定する必要があります。 DirectColorModelオブジェクトやIndexColorModelオブジェクトでは、この例外は発生しません。

    現在Java 2D(TM) APIでサポートされている転送型は、DataBuffer.TYPE_BYTE、DataBuffer.TYPE_USHORT、DataBuffer.TYPE_INT、DataBuffer.TYPE_SHORT、DataBuffer.TYPE_FLOAT、およびDataBuffer.TYPE_DOUBLEです。 転送型の初めの3つに基づくColorModelとイメージを使用すると、ほとんどの描画操作がより速く実行されます。 また、残りの3つの転送型に基づくColorModelとイメージについては、イメージのフィルタ操作のうちのいくつかがサポートされていません。 特定のColorModelオブジェクトの転送型は、オブジェクトが生成されるときに明示的にまたはデフォルトで指定されます。 ColorModelの各サブクラスでは、利用可能な転送型がいずれか、およびピクセルを表すプリミティブ配列の要素数がどのように決められるかを指定する必要があります。

    BufferedImagesの場合、RasterおよびRasterオブジェクトのSampleModelの転送型(それらのクラスのgetTransferTypeメソッドを介して取得できます)は、ColorModelの転送型と一致する必要があります。 RasterおよびSampleModelのピクセルを表す配列の要素数(それらのクラスのgetNumDataElementsメソッドを介して取得できます)は、ColorModelと一致する必要があります。

    ピクセル値から色成分およびアルファ成分への変換に使用するアルゴリズムは、サブクラスによって異なります。 たとえば、BufferedImageオブジェクトのRasterSampleModelによって得られるサンプルと色成分およびアルファ成分の間は1対1で対応していなくてもかまいません。 1対1の対応がある場合でも、サンプルのビット数は、対応する色成分およびアルファ成分のビット数と同じでなくてもかまいません。 各サブクラスでは、ピクセル値から色成分およびアルファ成分への変換がどのように行われるかを指定する必要があります。

    ColorModelクラスのメソッドは、色成分およびアルファ成分の2つの異なる表現である標準化形式と非標準化形式を使用します。 標準化形式では、各成分は最小値と最大値の間のfloat値です。 アルファ成分では、最小値は0.0、最大値は1.0です。 色成分では、各成分の最小値と最大値はColorSpaceオブジェクトから取得でき、 値は通常0.0と1.0 (デフォルトのsRGBカラー領域にある標準化成分の値の範囲は0.0 - 1.0、など)ですが、これと異なる上限と下限の成分値を持つカラー領域もあります。 これらの限界値はColorSpaceクラスのgetMinValueメソッドおよびgetMaxValueメソッドを使用して取得できます。 標準化色成分値はあらかじめ乗算されません。 すべてのColorModelsは標準化形式をサポートする必要があります。

    非標準化形式では、各成分は0と2n - 1の間の符号なし整数値です。nは、特定の成分の有効ビットの数です。 特定のColorModelのピクセル値がアルファ・サンプルであらかじめ乗算されているカラー・サンプルを表す場合、非標準化色成分も同じようにあらかじめ乗算されます。 非標準化形式は、ColorSpaceがすべての成分に対して最小成分値が0.0、最大成分値が1.0であるColorModelのインスタンスのみとともに使用されます。 非標準化形式の色成分とアルファ成分は、標準化成分値がすべて0.0と1.0の間にあるColorModelsを表すことができます。 このような場合、整数値0は0.0にマップされ、値2n -1は1.0にマップされます。 これ以外の、たとえば標準化成分値が正または負の場合は、非標準化形式は適切ではありません。 このようなColorModelオブジェクトは、非標準化引数を含むメソッドが呼び出されるとIllegalArgumentExceptionをスローします。 ColorModelのサブクラスでは、この例外が発生する条件を指定する必要があります。

    関連項目:
    IndexColorModel, ComponentColorModel, PackedColorModel, DirectColorModel, Image, BufferedImage, RenderedImage, ColorSpace, SampleModel, Raster, DataBuffer
    • フィールドのサマリー

      フィールド 
      修飾子と型 フィールド 説明
      protected int pixel_bits
      ピクセルの総ビット数です。
      protected int transferType
      ピクセル値の表現に使用される配列のデータ型です。
    • コンストラクタのサマリー

      コンストラクタ 
      修飾子 コンストラクタ 説明
        ColorModel​(int bits)
      指定されたビット数のピクセルを色成分およびアルファ成分に変換するColorModelを構築します。
      protected ColorModel​(int pixel_bits, int[] bits, ColorSpace cspace, boolean hasAlpha, boolean isAlphaPremultiplied, int transparency, int transferType)
      ピクセル値を色成分およびアルファ成分に変換するColorModelを構築します。
    • メソッドのサマリー

      すべてのメソッド staticメソッド インスタンス・メソッド 抽象メソッド 具象メソッド 非推奨のメソッド 
      修飾子と型 メソッド 説明
      ColorModel coerceData​(WritableRaster raster, boolean isAlphaPremultiplied)
      ラスター・データがisAlphaPremultiplied変数で指定された状態と一致するようにします。このとき、データはこのColorModelによって現在正しく記述されていると見なされます。
      SampleModel createCompatibleSampleModel​(int w, int h)
      このColorModelと互換性のあるデータ・レイアウトを持つ、指定された幅と高さのSampleModelを作成します。
      WritableRaster createCompatibleWritableRaster​(int w, int h)
      このColorModelと互換性のあるデータ・レイアウト(SampleModel)を持つ、指定された幅と高さのWritableRasterを作成します。
      boolean equals​(Object obj)
      このメソッドは、複数の独立したサブクラス分岐の間で適切な等価性テストの問題を強制することができないため、==テストと同じObjectのデフォルト実装に単純に委譲します。
      void finalize()
      非推奨。
      finalizeメソッドは推奨されていません。
      abstract int getAlpha​(int pixel)
      指定されたピクセルのアルファ成分を、0 - 255の範囲でスケーリングして返します。
      int getAlpha​(Object inData)
      指定されたピクセルのアルファ成分を、0 - 255の範囲でスケーリングして返します。
      WritableRaster getAlphaRaster​(WritableRaster raster)
      このColorModelのピクセル値が別々の空間バンドとして色情報およびアルファ情報を表す場合に、入力Rasterから抽出された、イメージのアルファ・チャネルを表すRasterを返します。
      abstract int getBlue​(int pixel)
      指定されたピクセルの青の色成分を、デフォルトのRGB ColorSpace、つまりsRGBの0 - 255の範囲でスケーリングして返します。
      int getBlue​(Object inData)
      指定されたピクセルの青の色成分を、デフォルトのRGB ColorSpace、つまりsRGBの0 - 255の範囲でスケーリングして返します。
      ColorSpace getColorSpace()
      このColorModelに関連付けられたColorSpaceを返します。
      int[] getComponents​(int pixel, int[] components, int offset)
      このColorModelでピクセルを指定して、標準化されていない色成分とアルファ成分の配列を返します。
      int[] getComponents​(Object pixel, int[] components, int offset)
      このColorModelでピクセルを指定して、標準化されていない色成分とアルファ成分の配列を返します。
      int[] getComponentSize()
      色成分およびアルファ成分ごとのビット数の配列を返します。
      int getComponentSize​(int componentIdx)
      指定された色成分およびアルファ成分のビット数を返します。
      int getDataElement​(float[] normComponents, int normOffset)
      標準化された色成分およびアルファ成分の配列を指定して、このColorModelintとして表されるピクセル値を返します。
      int getDataElement​(int[] components, int offset)
      標準化されていない色成分あるいはアルファ成分の配列を指定して、このColorModelintとして表現されるピクセル値を返します。
      Object getDataElements​(float[] normComponents, int normOffset, Object obj)
      標準化された色成分およびアルファ成分の配列を指定して、このColorModelのピクセルのデータ要素配列表現を返します。
      Object getDataElements​(int[] components, int offset, Object obj)
      標準化されていない色成分およびアルファ成分の配列を指定して、このColorModelのピクセルのデータ要素配列表現を返します。
      Object getDataElements​(int rgb, Object pixel)
      デフォルトRGBカラー・モデルの整数型ピクセル表現を指定して、このColorModelのピクセルのデータ要素配列表現を返します。
      abstract 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 getNumColorComponents()
      このColorModelの色成分数を返します。
      int getNumComponents()
      このColorModelの成分(アルファを含む)の数を返します。
      int getPixelSize()
      このColorModelによって記述されるピクセルごとのビット数を返します。
      abstract 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カラー・モデル形式で返します。
      static ColorModel getRGBdefault()
      プログラマのために、AWTイメージ・インタフェースの多くのメソッドで使用される整数型RGB値のデフォルト形式を記述するDirectColorModelを返します。
      int getTransferType()
      このColorModelの転送型を返します。
      int getTransparency()
      透明度を返します。
      int[] getUnnormalizedComponents​(float[] normComponents, int normOffset, int[] components, int offset)
      標準化成分配列を指定して、非標準化形式ですべての色成分およびアルファ成分の配列を返します。
      boolean hasAlpha()
      アルファがこのColorModelでサポートされているかどうかを返します。
      int hashCode()
      このメソッドは、クラスのシステムIDを返すObjectのデフォルト実装に委譲します。
      boolean isAlphaPremultiplied()
      このColorModelで変換されるピクセル値でアルファがあらかじめ乗算されているかどうかを返します。
      boolean isCompatibleRaster​(Raster raster)
      rasterがこのColorModelと互換性がある場合にはtrueを返し、そうでない場合にはfalseを返します。
      boolean isCompatibleSampleModel​(SampleModel sm)
      SampleModelがこのColorModelと互換性があるかどうかを判定します。
      String toString()
      このColorModel オブジェクトの内容を表すStringを返します。
    • フィールドの詳細

      • pixel_bits

        protected int pixel_bits
        ピクセルの総ビット数です。
      • transferType

        protected int transferType
        ピクセル値の表現に使用される配列のデータ型です。
    • コンストラクタの詳細

      • ColorModel

        public ColorModel​(int bits)
        指定されたビット数のピクセルを色成分およびアルファ成分に変換するColorModelを構築します。 カラー・スペースはデフォルトのRGB ColorSpace (sRGB)です。 ピクセル値には、アルファ情報が含まれていると見なされます。 色およびアルファの情報が別々の空間バンドとしてピクセル値で表される場合、カラー・バンドにはアルファ値があらかじめ乗算されていません。 透明度型は、java.awt.Transparency.TRANSLUCENTです。 転送型は、単一ピクセルを保持することができるDataBuffer.TYPE_BYTE、DataBuffer.TYPE_USHORT、またはDataBuffer.TYPE_INTの最小値です(ビットが32より大きい場合はDataBuffer.TYPE_UNDEFINED)。 このコンストラクタは色成分およびアルファ成分ごとのビット数に関する情報を持たないので、このコンストラクタを呼び出すサブクラスは、この情報を必要とするメソッドをオーバーライドします。
        パラメータ:
        bits - ピクセルのビット数
        例外:
        IllegalArgumentException - bitsのビット数が1より小さい場合
      • ColorModel

        protected ColorModel​(int pixel_bits,
                             int[] bits,
                             ColorSpace cspace,
                             boolean hasAlpha,
                             boolean isAlphaPremultiplied,
                             int transparency,
                             int transferType)
        ピクセル値を色成分およびアルファ成分に変換するColorModelを構築します。 色成分は、指定されたColorSpace内になります。pixel_bitsは、ピクセル値のビット数です。 bits配列は、色成分およびアルファ成分ごとの有効ビット数を指定します。 その長さは、ピクセル値にアルファ情報がない場合にはColorSpaceの成分数、アルファ情報がある場合にはこの数よりも1大きくなります。hasAlphaは、アルファ情報が存在するかどうかを示します。 boolean型のisAlphaPremultipliedは、色情報およびアルファ情報が別々の空間バンドとして表されるピクセル値を解釈する方法を指定します。 booleantrueの場合は、カラー・サンプルはアルファ・サンプルと乗算されたと見なされます。 transparencyは、このカラー・モデルで表現できるアルファ値を指定します。 転送タイプは、ピクセル値を表現するために使うプリミティブ配列の型です。 ビット配列は、ピクセル値からの変換後の色成分およびアルファ成分ごとの有効ビット数を格納します。 たとえば、pixel_bitsが16のIndexColorModelの場合、ビット配列は各要素が8に設定されている4つの要素を持ちます。
        パラメータ:
        pixel_bits - ピクセル値のビット数
        bits - 色成分およびアルファ成分ごとの有効ビット数を指定する配列
        cspace - 指定されたColorSpace
        hasAlpha - アルファ情報が存在する場合はtrue、そうでない場合はfalse
        isAlphaPremultiplied - カラー・サンプルがアルファ・サンプルによってあらかじめ乗算されていると見なされる場合はtrue、そうでない場合はfalse
        transparency - このカラー・モデルで表すことができるアルファ値
        transferType - ピクセル値の表現に使用される配列の型
        例外:
        IllegalArgumentException - ビット配列の長さがこのColorModelの色成分またはアルファ成分の数より小さい場合、または透明度が有効な値でない場合。
        IllegalArgumentException - bitsのビット数の合計が1より小さい場合、またはbitsの要素が0より小さい場合。
        関連項目:
        Transparency
    • メソッドの詳細

      • getRGBdefault

        public static ColorModel getRGBdefault()
        プログラマのために、AWTイメージ・インタフェースの多くのメソッドで使用される整数型RGB値のデフォルト形式を記述するDirectColorModelを返します。 カラー・スペースは、デフォルトのColorSpace (sRGB)です。 RGB値の形式は、0xAARRGGBBのように、最上位バイトから最下位バイトまで、アルファ、赤、緑、および青の各成分をこの順に並べた、それぞれ8ビットの整数です。 色成分は、アルファ成分によってあらかじめ乗算されません。 この形式は、特定のデバイスまたはすべてのイメージのネイティブまたはもっとも効率的なColorModelを必ずしも表しません。 共通のカラー・モデル形式として使用されます。
        戻り値:
        デフォルトのRGB値を表すDirectColorModel オブジェクト。
      • hasAlpha

        public final boolean hasAlpha()
        アルファがこのColorModelでサポートされているかどうかを返します。
        戻り値:
        このColorModelでアルファがサポートされている場合はtrue、そうでない場合はfalse
      • isAlphaPremultiplied

        public final boolean isAlphaPremultiplied()
        このColorModelで変換されるピクセル値でアルファがあらかじめ乗算されているかどうかを返します。 booleanがtrueの場合、このColorModelは色情報およびアルファ情報が別々の空間バンドとして表されるピクセル値を解釈するために使用され、カラー・サンプルはアルファ・サンプルによって乗算されたと見なされます。
        戻り値:
        このColorModelで変換されるピクセル値でアルファ値があらかじめ乗算されている場合はtrue、そうでない場合はfalse
      • getTransferType

        public final int getTransferType()
        このColorModelの転送型を返します。 転送型は、ピクセル値を配列として表すのに使われるプリミティブ配列の型です。
        戻り値:
        転送型
        導入されたバージョン:
        1.3
      • getPixelSize

        public int getPixelSize()
        このColorModelによって記述されるピクセルごとのビット数を返します。
        戻り値:
        ピクセルごとのビット数
      • getComponentSize

        public int getComponentSize​(int componentIdx)
        指定された色成分およびアルファ成分のビット数を返します。 色成分は、ColorSpaceで指定された順序でインデックスが付けられます。 通常、この順序はカラー・スペースの型の名前を反映します。 たとえば、TYPE_RGBの場合、インデックス0は赤、インデックス1は緑、インデックス2は青に対応します。 このColorModelがアルファをサポートする場合、アルファ成分は最後に指定された色成分のあとのインデックスに対応します。
        パラメータ:
        componentIdx - 色成分およびアルファ成分のインデックス
        戻り値:
        指定されたインデックスにある色成分およびアルファ成分のビット数
        例外:
        ArrayIndexOutOfBoundsException - componentIdxが成分の数より大きいか、0より小さい場合
        NullPointerException - ビット配列の数がnullの場合
      • getComponentSize

        public int[] getComponentSize()
        色成分およびアルファ成分ごとのビット数の配列を返します。 この配列は、ColorSpaceで指定された順序で色成分を格納し、アルファ成分がある場合は、次にアルファ成分が続きます。
        戻り値:
        色成分およびアルファ成分ごとのビット数の配列
      • getNumComponents

        public int getNumComponents()
        このColorModelの成分(アルファを含む)の数を返します。 これは、色成分の数(アルファ成分がある場合は1を加算)と等しくなります。
        戻り値:
        このColorModelの成分数
      • getRed

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

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

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

        public abstract int getAlpha​(int pixel)
        指定されたピクセルのアルファ成分を、0 - 255の範囲でスケーリングして返します。 ピクセル値はintとして指定されます。 このColorModelのピクセル値が単一のintとして表現できない場合はIllegalArgumentExceptionがスローされます。
        パラメータ:
        pixel - 指定されたピクセル
        戻り値:
        指定されたピクセルのアルファ成分の値
      • getRGB

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

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

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

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

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

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

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

        public int[] getComponents​(int pixel,
                                   int[] components,
                                   int offset)
        このColorModelでピクセルを指定して、標準化されていない色成分とアルファ成分の配列を返します。 ピクセル値はintとして指定されます。 このColorModelのピクセル値が単一のintとして表現できない場合、またはこのColorModelの色成分値が非標準化形式で表現できない場合は、IllegalArgumentExceptionがスローされます。 たとえば、このメソッドは、DirectColorModelの特定のピクセル値の成分を取り出すために使用できます。 components配列がnullの場合は、新しい配列が割り当てられます。 components配列が返されます。 色成分およびアルファ成分は、offsetを起点にcomponents配列に格納されます。配列がこのメソッドで割り当てられている場合も同様です。 components配列がnullでなく、offsetを起点にした場合に、色成分とアルファ成分のすべてを保持するのに十分な大きさでない場合は、ArrayIndexOutOfBoundsExceptionがスローされます。 ColorModelは抽象クラスなので、どのインスタンスもサブクラスのインスタンスになります。 この抽象クラスの実装はUnsupportedOperationExceptionをスローするので、サブクラスはこのメソッドをオーバーライドする必要があります。
        パラメータ:
        pixel - 指定されたピクセル
        components - 指定されたピクセルの色成分およびアルファ成分を受け取る配列
        offset - 色成分およびアルファ成分の格納を開始する、components配列へのオフセット
        戻り値:
        指定されたオフセット以降に、指定されたピクセルの色成分およびアルファ成分が格納されている配列
        例外:
        UnsupportedOperationException - このColorModelでこのメソッドがサポートされていない場合
      • getComponents

        public int[] getComponents​(Object pixel,
                                   int[] components,
                                   int offset)
        このColorModelでピクセルを指定して、標準化されていない色成分とアルファ成分の配列を返します。 pixel値は、オブジェクト参照として渡されたtransferType型のデータ要素からなる配列によって指定されます。 pixelがtransferType型のプリミティブ配列でない場合は、ClassCastExceptionがスローされます。 このColorModelの色成分値が非標準化形式で表現できない場合は、IllegalArgumentExceptionがスローされます。 pixelがこのColorModelのピクセル値を保持するのに十分な大きさでない場合は、ArrayIndexOutOfBoundsExceptionがスローされます。 このメソッドは、任意のColorModelの特定のピクセル値の成分を取り出すために使用できます。 components配列がnullの場合は、新しい配列が割り当てられます。 components配列が返されます。 色成分とアルファ成分は、offsetから始まるcomponents配列に格納されます。これは、配列がこのメソッドで割り当てられても変わりません。 components配列がnullでなく、offsetを起点にした場合に、色成分とアルファ成分のすべてを保持するのに十分な大きさでない場合は、ArrayIndexOutOfBoundsExceptionがスローされます。 ColorModelは抽象クラスなので、どのインスタンスもサブクラスのインスタンスになります。 この抽象クラスの実装はUnsupportedOperationExceptionをスローするので、サブクラスはこのメソッドをオーバーライドする必要があります。
        パラメータ:
        pixel - 指定されたピクセル
        components - 指定されたピクセルの色成分およびアルファ成分を受け取る配列
        offset - 指定されたピクセルの色成分およびアルファ成分の格納を開始する、components配列へのインデックス
        戻り値:
        指定されたオフセット以降に、指定されたピクセルの色成分およびアルファ成分が格納されている配列
        例外:
        UnsupportedOperationException - この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がスローされます。
        パラメータ:
        normComponents - 標準化成分を格納している配列
        normOffset - 標準化成分の取得を開始する、normComponents配列へのオフセット
        components - normComponentsから成分を受け取る配列
        offset - normComponentsから標準化成分の格納を開始する、componentsのインデックス
        戻り値:
        標準化されていない色成分およびアルファ成分が格納されている配列
        例外:
        IllegalArgumentException - このColorModelの成分値が非標準化形式で表現できない場合。
        IllegalArgumentException - normComponentsの長さマイナスnormOffsetが、numComponentsより小さい場合
        UnsupportedOperationException - このColorModelのコンストラクタがsuper(bits)コンストラクタを呼び出したが、このメソッドをオーバーライドしなかった場合。 コンストラクタColorModel(int)を参照してください。
      • 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がスローされます。

        ColorModelは抽象クラスなので、どのインスタンスもサブクラスのインスタンスになります。 この抽象クラスでの、このメソッドのデフォルトの実装は、このクラスの成分値が非標準化形式で表現されると見なします。 したがって、非標準化形式をサポートしないインスタンスを持つサブクラスは、このメソッドをオーバーライドする必要があります。

        パラメータ:
        components - 標準化されていない成分を格納している配列
        offset - 標準化されていない成分の取得を開始する、components配列へのオフセット
        normComponents - 標準化成分を受け取る配列
        normOffset - 標準化成分の格納を開始する、normComponentsのインデックス
        戻り値:
        標準化された色成分およびアルファ成分が格納されている配列
        例外:
        IllegalArgumentException - このColorModelの成分値が非標準化形式で表現できない場合。
        UnsupportedOperationException - このColorModelのコンストラクタがsuper(bits)コンストラクタを呼び出したが、このメソッドをオーバーライドしなかった場合。 コンストラクタColorModel(int)を参照してください。
        UnsupportedOperationException - このメソッドが成分ごとのビット数を判定できなかった場合
      • getDataElement

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

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

        public int getDataElement​(float[] normComponents,
                                  int normOffset)
        標準化された色成分およびアルファ成分の配列を指定して、このColorModelintとして表されるピクセル値を返します。 このColorModelのピクセル値が単一のintとして表現できない場合、このメソッドはIllegalArgumentExceptionをスローします。 normComponents配列がnormOffsetを起点にすべての色成分とアルファ成分を保持するのに十分な大きさでない場合は、ArrayIndexOutOfBoundsExceptionがスローされます。 ColorModelは抽象クラスなので、どのインスタンスもサブクラスのインスタンスになります。 この抽象クラスでの、このメソッドのデフォルトの実装は、標準化形式を非標準化形式に変換してからgetDataElement(int[], int)を呼び出します。 非標準化形式をサポートしないインスタンスを持つサブクラスは、このメソッドをオーバーライドする必要があります。
        パラメータ:
        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がスローされます。 ColorModelは抽象クラスなので、どのインスタンスもサブクラスのインスタンスになります。 この抽象クラスでの、このメソッドのデフォルトの実装は、標準化形式を非標準化形式に変換してからgetDataElement(int[], int, Object)を呼び出します。 非標準化形式をサポートしないインスタンスを持つサブクラスは、このメソッドをオーバーライドする必要があります。
        パラメータ:
        normComponents - 標準化された色成分およびアルファ成分の配列
        normOffset - 色成分およびアルファ成分の取得を開始する、normComponentsのインデックス
        obj - 返されたピクセルを保持するプリミティブ・データ配列
        戻り値:
        ピクセルのプリミティブ・データ配列表現のObject
        例外:
        ClassCastException - objtransferType型のプリミティブ配列でない場合
        ArrayIndexOutOfBoundsException - objがこのColorModelのピクセル値を保持するのに十分な大きさでない場合、あるいはnormComponents配列が、normOffsetを開始点にして、すべての色成分およびアルファ成分を保持するのに十分な大きさでない場合
        導入されたバージョン:
        1.4
        関連項目:
        WritableRaster.setDataElements(int, int, java.lang.Object), SampleModel.setDataElements(int, int, java.lang.Object, java.awt.image.DataBuffer)
      • 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がスローされます。 ColorModelは抽象クラスなので、どのインスタンスもサブクラスのインスタンスになります。 この抽象クラスでの、このメソッドのデフォルトの実装は、getComponents(Object, int[], int)を使用して非標準化形式で色成分とアルファ成分を取り出してからgetNormalizedComponents(int[], int, float[], int)を呼び出します。 非標準化形式をサポートしないインスタンスを持つサブクラスは、このメソッドをオーバーライドする必要があります。
        パラメータ:
        pixel - 指定されたピクセル
        normComponents - 標準化成分を受け取る配列
        normOffset - 標準化成分の格納を開始する、normComponents配列へのオフセット
        戻り値:
        標準化された色成分およびアルファ成分が格納されている配列
        例外:
        ClassCastException - pixelがtransferType型のプリミティブ配列でない場合
        ArrayIndexOutOfBoundsException - normComponentsnormOffsetを起点にすべての色成分とアルファ成分を保持するのに十分な大きさでない場合
        ArrayIndexOutOfBoundsException - pixelがこのColorModelのピクセル値を保持するのに十分な大きさでない場合。
        UnsupportedOperationException - このColorModelのコンストラクタがsuper(bits)コンストラクタを呼び出したが、このメソッドをオーバーライドしなかった場合。 コンストラクタColorModel(int)を参照してください。
        UnsupportedOperationException - このメソッドが成分ごとのビット数を判定できなかった場合
        導入されたバージョン:
        1.4
      • equals

        public boolean equals​(Object obj)
        このメソッドは、複数の独立したサブクラス分岐の間で適切な等価性テストの問題を強制することができないため、==テストと同じObjectのデフォルト実装に単純に委譲します。 サブクラスは、このメソッドをオーバーライドして、ColorModelの以下の共通基本プロパティの等価テストに加えて、独自のプロパティの等価テストを提供することをお勧めします:
        • アルファ・コンポーネントのサポート。
        • アルファはあらかじめ乗算されていますか?。
        • ピクセルあたりのビット数。
        • 不透明、ビット・マスクまたは半透明のような透明の型。
        • ピクセル内のコンポーネントの数。
        • ColorSpace型。
        • ピクセル値を表すために使用される配列の型。
        • 色およびアルファ・コンポーネントごとの有効ビット数。
        オーバーライド:
        equals 、クラス:  Object
        パラメータ:
        obj - 比較対象の参照オブジェクト。
        戻り値:
        このオブジェクトがobj引数と同じである場合はtrue、それ以外の場合はfalse
        関連項目:
        Object.hashCode()HashMap
      • hashCode

        public int hashCode()
        このメソッドは、クラスのシステムIDを返すObjectのデフォルト実装に委譲します。 サブクラスは、このメソッドをオーバーライドして、ColorModelという共通の基本プロパティの値をハッシュするだけでなく、独自のプロパティのハッシュを提供することをお勧めします:
        • アルファ・コンポーネントのサポート。
        • アルファはあらかじめ乗算されていますか?。
        • ピクセルあたりのビット数。
        • 不透明、ビット・マスクまたは半透明のような透明の型。
        • ピクセル内のコンポーネントの数。
        • ColorSpace型。
        • ピクセル値を表すために使用される配列の型。
        • 色およびアルファ・コンポーネントごとの有効ビット数。
        オーバーライド:
        hashCode 、クラス:  Object
        戻り値:
        このオブジェクトのハッシュ・コード値。
        関連項目:
        Object.equals(java.lang.Object), System.identityHashCode(java.lang.Object)
      • getColorSpace

        public final ColorSpace getColorSpace()
        このColorModelに関連付けられたColorSpaceを返します。
        戻り値:
        このColorModelColorSpace
      • coerceData

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

        public boolean isCompatibleRaster​(Raster raster)
        rasterがこのColorModelと互換性がある場合にはtrueを返し、そうでない場合にはfalseを返します。 ColorModelは抽象クラスなので、どのインスタンスもサブクラスのインスタンスになります。 この抽象クラスの実装はUnsupportedOperationExceptionをスローするので、サブクラスはこのメソッドをオーバーライドする必要があります。
        パラメータ:
        raster - 互換性を判定するRasterオブジェクト
        戻り値:
        rasterがこのColorModelと互換性がある場合はtrue
        例外:
        UnsupportedOperationException - このColorModelでこのメソッドが実装されていない場合
      • createCompatibleWritableRaster

        public WritableRaster createCompatibleWritableRaster​(int w,
                                                             int h)
        このColorModelと互換性のあるデータ・レイアウト(SampleModel)を持つ、指定された幅と高さのWritableRasterを作成します。 ColorModelは抽象クラスなので、どのインスタンスもサブクラスのインスタンスになります。 この抽象クラスの実装はUnsupportedOperationExceptionをスローするので、サブクラスはこのメソッドをオーバーライドする必要があります。
        パラメータ:
        w - 新しいWritableRasterに適用される幅
        h - 新しいWritableRasterに適用される高さ
        戻り値:
        指定された幅と高さを持つWritableRasterオブジェクト。
        例外:
        UnsupportedOperationException - このColorModelでこのメソッドがサポートされていない場合
        関連項目:
        WritableRasterSampleModel
      • createCompatibleSampleModel

        public SampleModel createCompatibleSampleModel​(int w,
                                                       int h)
        このColorModelと互換性のあるデータ・レイアウトを持つ、指定された幅と高さのSampleModelを作成します。 ColorModelは抽象クラスなので、どのインスタンスもサブクラスのインスタンスになります。 この抽象クラスの実装はUnsupportedOperationExceptionをスローするので、サブクラスはこのメソッドをオーバーライドする必要があります。
        パラメータ:
        w - 新しいSampleModelに適用される幅
        h - 新しいSampleModelに適用される高さ
        戻り値:
        指定された幅と高さを持つSampleModelオブジェクト。
        例外:
        UnsupportedOperationException - このColorModelでこのメソッドがサポートされていない場合
        関連項目:
        SampleModel
      • isCompatibleSampleModel

        public boolean isCompatibleSampleModel​(SampleModel sm)
        SampleModelがこのColorModelと互換性があるかどうかを判定します。 ColorModelは抽象クラスなので、どのインスタンスもサブクラスのインスタンスになります。 この抽象クラスの実装はUnsupportedOperationExceptionをスローするので、サブクラスはこのメソッドをオーバーライドする必要があります。
        パラメータ:
        sm - 指定されたSampleModel
        戻り値:
        指定されたSampleModelがこのColorModelと互換性がある場合はtrue、それ以外の場合はfalse
        例外:
        UnsupportedOperationException - このColorModelでこのメソッドがサポートされていない場合
        関連項目:
        SampleModel
      • finalize

        @Deprecated(since="9")
        public void finalize()
        非推奨。
        finalizeメソッドは推奨されていません。 クリーンアップを実行するためにfinalizeをオーバーライドするサブクラスは、代替クリーンアップ・メカニズムを使用し、オーバーライドするfinalizeメソッドを削除するように変更する必要があります。 finalizeメソッドをオーバーライドする場合、実装では、super.finalize()Object.finalize()の説明に従って呼び出されることを明示的に確認する必要があります。 移行オプションの詳細については、Object.finalize()の仕様を参照してください。
        このColorModelが参照されなくなったときに、このColorModelに関連付けられたシステム・リソースを破棄します。
        オーバーライド:
        finalize、クラス: Object
        関連項目:
        WeakReference, PhantomReference
      • getAlphaRaster

        public WritableRaster getAlphaRaster​(WritableRaster raster)
        このColorModelのピクセル値が別々の空間バンドとして色情報およびアルファ情報を表す場合(ComponentColorModelおよびDirectColorModelなど)に、入力Rasterから抽出された、イメージのアルファ・チャネルを表すRasterを返します。 そのようなColorModelに関連したRasterオブジェクトがアルファ・バンドを持っている場合、このメソッドは、このアルファ・バンドがイメージ・データの最後のバンドとして格納されていると見なします。 このColorModelに関連した空間アルファ・チャネルがほかにない場合は、nullを返します。 ルックアップ表にアルファを持つIndexColorModelの場合、このメソッドはnullを返します。これは、空間的に分離したアルファ・チャネルが存在しないためです。 このメソッドは、新しいRasterを生成します(ただしデータ配列は共有されます)。 ColorModelは抽象クラスなので、どのインスタンスもサブクラスのインスタンスになります。 この抽象クラスの実装はnullを返すので、サブクラスはこのメソッドをオーバーライドしてnullを返す以外の動作を取得する必要があります。
        パラメータ:
        raster - 指定されたRaster
        戻り値:
        指定したRasterから取得される、イメージのアルファ・チャネルを表すRaster
      • toString

        public String toString()
        このColorModel オブジェクトの内容を表すStringを返します。
        オーバーライド:
        toString 、クラス:  Object
        戻り値:
        このColorModelオブジェクトの内容を表すString