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

クラスColorConvertOp

  • すべての実装されたインタフェース:
    BufferedImageOp, RasterOp


    public class ColorConvertOp
    extends Object
    implements BufferedImageOp, RasterOp
    このクラスは、転送元イメージのデータの色変換をピクセル単位で実行します。 結果のカラー値は、転送先イメージの精度に合わせてスケーリングされます。 色変換は、ColorSpaceオブジェクトの配列またはICC_Profileオブジェクトの配列を介して指定できます。

    あらかじめアルファが乗算されているBufferedImageが転送元である場合、色成分は色変換の前にアルファ成分で除算されます。 転送先があらかじめアルファが乗算されたBufferedImageの場合、色成分は変換のあとにアルファ成分によって乗算されます。 Rasterは、アルファ・チャネルを持たないものとして処理されます。つまり、すべてのバンドがカラー・バンドです。

    RenderingHintsオブジェクトがコンストラクタで指定されている場合は、カラー描画ヒントおよびディザリング・ヒントを使用して色変換を制御できます。

    転送元と転送先には、同じオブジェクトを指定できます。

    関連項目:
    RenderingHints.KEY_COLOR_RENDERING, RenderingHints.KEY_DITHERING
    • コンストラクタの詳細

      • ColorConvertOp

        public ColorConvertOp​(RenderingHints hints)
        転送元カラー・スペースから転送先カラー・スペースに変換する新しいColorConvertOpを構築します。 RenderingHints引数はnullでも構いません。 この操作は、BufferedImageとだけ使用することができ、転送元イメージのColorSpaceから転送先のColorSpaceに直接変換します。 フィルタ・メソッドの転送先引数にはnullを指定できません。
        パラメータ:
        hints - 色変換の制御に使用するRenderingHintsオブジェクト、またはnull
      • ColorConvertOp

        public ColorConvertOp​(ColorSpace cspace,
                              RenderingHints hints)
        ColorSpaceオブジェクトから新しいColorConvertOpを構築します。 RenderingHints引数はnullでも構いません。 この操作はBufferedImageとだけ使用でき、主に転送先引数がnullでfilterメソッドが呼び出されたときに有効です。 その場合、ColorSpaceはフィルタ・メソッドによって作成される転送先の転送先カラー・スペースを定義します。 そうでない場合、ColorSpaceは、転送先領域に変換される前に転送元が変換される中間領域を定義します。
        パラメータ:
        cspace - 転送先のColorSpace、または中間ColorSpaceを定義する
        hints - 色変換の制御に使用するRenderingHintsオブジェクト、またはnull
        例外:
        NullPointerException - cspaceがnullの場合
      • ColorConvertOp

        public ColorConvertOp​(ColorSpace srcCspace,
                              ColorSpace dstCspace,
                              RenderingHints hints)
        2つのColorSpaceオブジェクトから新しいColorConvertOpを構築します。 RenderingHints引数はnullでも構いません。 この操作は、主にRasterでフィルタ・メソッドを呼び出すときに有効です。その場合、2つのColorSpaceがRasterで実行される操作を定義します。 その場合、転送元Rasterのバンド数は、srcCspaceの成分数と一致する必要があり、転送先Rasterのバンド数はdstCspaceの成分数と一致する必要があります。 BufferedImageの場合、2つのColorSpaceは、転送先領域に変換される前に転送元が変換される中間領域を定義します。
        パラメータ:
        srcCspace - 転送元ColorSpace
        dstCspace - 転送先ColorSpace
        hints - 色変換の制御に使用するRenderingHintsオブジェクト、またはnull
        例外:
        NullPointerException - srcCspaceまたはdstCspaceがnullの場合
      • ColorConvertOp

        public ColorConvertOp​(ICC_Profile[] profiles,
                              RenderingHints hints)
        ICC_Profileの配列から新しいColorConvertOpを構築します。 RenderingHints引数はnullでも構いません。 一連のプロファイルには、カラー・スペースを表すプロファイル、効果を表すプロファイルなども含めることができます。この一連のプロファイル全体が色変換を適切に定義しない場合は、例外がスローされます。

        BufferedImageの場合、転送元BufferedImageのColorSpaceが配列の最初のプロファイルの要件と一致しない場合には、最初の変換は適切なColorSpaceに対して行われます。 配列の最後のプロファイルの要件が転送先BufferedImageのColorSpaceと一致しない場合、最後の変換は転送先のColorSpaceに対して行われます。

        Rasterの場合、転送元Rasterのバンド数は配列の最初のプロファイルの要件と一致する必要があり、転送先Rasterのバンド数は配列の最後のプロファイルの要件と一致する必要があります。 配列は、2つ以上の要素を持つ必要があり、そうでない場合、Rasterに対してフィルタ・メソッドを呼び出すとIllegalArgumentExceptionがスローされます。

        パラメータ:
        profiles - ICC_Profileオブジェクトの配列
        hints - 色変換の制御に使用するRenderingHintsオブジェクト、またはnull
        例外:
        IllegalArgumentException - 一連のプロファイルによって明確な色変換が指定されていない場合
        NullPointerException - プロファイルがnullの場合
    • メソッドの詳細

      • getICC_Profiles

        public final ICC_Profile[] getICC_Profiles​()
        このColorConvertOpを構築するために使用されるICC_Profileの配列を返します。 ColorConvertOpがそのような配列で構築されなかった場合はnullを返します。
        戻り値:
        このColorConvertOpICC_Profileオブジェクトの配列、またはこのColorConvertOpICC_Profileオブジェクトの配列で構築されなかった場合はnull
      • filter

        public final BufferedImage filter​(BufferedImage src,
                                          BufferedImage dest)
        転送元BufferedImageでColorConvertを実行します。 転送先イメージがnullの場合、BufferedImageは適切なColorModelで作成されます。
        定義:
        filter、インタフェース: BufferedImageOp
        パラメータ:
        src - 変換される転送元BufferedImage
        dest - 転送先のBufferedImage、またはnull
        戻り値:
        srcから変換されたdestの色、またはdestnullの場合は変換された、新しいBufferedImage
        例外:
        IllegalArgumentException - destがnullであり、この操作がRenderingHints引数だけをとるコンストラクタを使用して構築された場合(操作の定義が不適切であるため)。
      • filter

        public final WritableRaster filter​(Raster src,
                                           WritableRaster dest)
        転送元Rasterのイメージ・データでColorConvertを実行します。 転送先Rasterがnullの場合、新しいRasterが生成されます。 転送元と転送先のRasterのバンド数は、上述のように要件と一致する必要があります。 このColorConvertOpを作成するために使用されるコンストラクタは、転送元と転送先のカラー・スペースを定義するのに十分な情報を提供する必要があります。 (上述を参照) 適切な数のバンドを保持しない場合、例外がスローされます。
        定義:
        filter、インタフェース: RasterOp
        パラメータ:
        src - 変換される転送元Raster
        dest - 転送先のWritableRaster、またはnull
        戻り値:
        srcから変換されたdestの色、またはdestnullの場合は変換された、新しいWritableRaster
        例外:
        IllegalArgumentException - 転送元または転送先のバンド数が正しくない場合、転送元または転送先のカラー・スペースが未定義の場合、またはこの操作がBufferedImageでの操作にだけ適用されるコンストラクタのいずれかで構築された場合。
      • getBounds2D

        public final Rectangle2D getBounds2D​(BufferedImage src)
        この転送元を指定して、転送先のバウンディング・ボックスを返します。 これは、ソースのボックスと同じになります。
        定義:
        getBounds2D、インタフェース: BufferedImageOp
        パラメータ:
        src - 転送元BufferedImage
        戻り値:
        指定されたsrcを持ち、転送先のバウンディング・ボックスを表すRectangle2D
      • getBounds2D

        public final Rectangle2D getBounds2D​(Raster src)
        この転送元を指定して、転送先のバウンディング・ボックスを返します。 これは、ソースのボックスと同じになります。
        定義:
        getBounds2D、インタフェース: RasterOp
        パラメータ:
        src - 転送元Raster
        戻り値:
        指定されたsrcを持ち、転送先のバウンディング・ボックスを表すRectangle2D
      • createCompatibleDestImage

        public BufferedImage createCompatibleDestImage​(BufferedImage src,
                                                       ColorModel destCM)
        この転送元を指定して、適切なサイズおよびバンド数で、ゼロ化された転送先イメージを作成します。
        定義:
        createCompatibleDestImage、インタフェース: BufferedImageOp
        パラメータ:
        src - フィルタ・オペレーションのソース・イメージ。
        destCM - 転送先のColorModel。 nullの場合、適切なColorModelが使用される
        戻り値:
        指定されたsrcからの適切なサイズおよびバンド数を持つBufferedImage
        例外:
        IllegalArgumentException - destCMnullで、かつこのColorConvertOpが転送先に定義された任意のICC_ProfileまたはColorSpaceを使用しないで作成された場合
      • createCompatibleDestRaster

        public WritableRaster createCompatibleDestRaster​(Raster src)
        指定された転送元で、正しいサイズおよびバンド数を持つゼロ化された転送先Rasterを作成します。
        定義:
        createCompatibleDestRaster、インタフェース: RasterOp
        パラメータ:
        src - 指定されたRaster
        戻り値:
        指定されたsrcからの適切なサイズおよびバンド数を持つWritableRaster
        例外:
        IllegalArgumentException - このColorConvertOpdstおよびsrcのカラー・スペースを定義するための十分な情報なしで作成された場合
      • getPoint2D

        public final Point2D getPoint2D​(Point2D srcPt,
                                        Point2D dstPt)
        指定された転送元のポイントに対応する、転送先のポイントの位置を返します。 dstPtがnullでない場合は、戻り値の格納先として使用されます。 このクラスでは、転送先のポイントは転送元のポイントと同じになります。
        定義:
        getPoint2D、インタフェース: BufferedImageOp
        定義:
        getPoint2D、インタフェース: RasterOp
        パラメータ:
        srcPt - 指定された転送元のPoint2D
        dstPt - 転送先Point2D
        戻り値:
        srcPtと同じ場所に設定したあとのdstPt