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

クラスRescaleOp

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


    public class RescaleOp
    extends Object
    implements BufferedImageOp, RasterOp
    このクラスでは、転送元イメージのデータのピクセル単位の再スケーリングを行います。各ピクセルのサンプル値とスケーリング係数の積を求め、オフセットを加算します。 計算で求められたサンプル値は、転送先イメージの最小および最大にクリップボード転送されます。

    再スケーリング演算の仮想コードを次に示します。

    for each pixel from Source object {
        for each band/component of the pixel {
            dstElement = (srcElement*scaleFactor) + offset
        }
    }
     

    Rasterの場合、再スケーリングはバンドを演算します。 スケーリング定数セットが1つの場合は同じ定数がすべてのバンドに適用されます。スケーリング定数セットが複数の場合、その数は転送元Rasterのバンド数と一致しなければいけません。

    BufferedImageの場合、再スケーリングは色とアルファ成分を演算します。 スケーリング定数セットが1つの場合は同じ定数がすべての色成分に適用されますが、アルファ成分には適用されません。 スケーリング定数セットが複数あり、その数が転送元の色成分数と一致する場合、アルファ成分が存在してもその再スケーリングは実行されません。 スケーリング定数セットが複数あり、その数が転送元の色成分数とアルファ成分数の合計と一致する場合、ルックアップはすべての色成分およびアルファ成分に対して実行されます。

    再スケーリングでは、あらかじめ乗算されたアルファ・データを持つBufferedImageソースは、あらかじめ乗算されていないアルファ・データ・イメージと同様に扱われます。 つまり、データがあらかじめ乗算されていることを考慮せずに、BufferedImageソースのrawデータについて、バンドごとに再スケーリングが実行されます。 転送先のColorModelで色の変換が必要な場合、このステップでは、あらかじめ乗算されていることが転送元と転送先の両方で考慮されます。

    IndexColorModelを持つイメージは再スケーリングできません。

    コンストラクタでRenderingHintsオブジェクトが指定された場合、色変換が必要なときに、カラー描画ヒントおよびディザリング・ヒントを使用できます。

    インプレース操作(転送元と転送先に同じオブジェクトを指定すること)が許可されます。

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

      • RescaleOp

        public RescaleOp​(float[] scaleFactors,
                         float[] offsets,
                         RenderingHints hints)
        必要なスケーリング係数とオフセットを持つ、新しいRescaleOpを構築します。 scaleFactorとoffset配列の長さは、上記のクラス・コメントの要件を満たすものである必要があります。 RenderingHints引数はnullでも構いません。
        パラメータ:
        scaleFactors - 指定されたスケーリング係数
        offsets - 指定されたオフセット
        hints - 指定されたRenderingHints、またはnull
      • RescaleOp

        public RescaleOp​(float scaleFactor,
                         float offset,
                         RenderingHints hints)
        必要なスケーリング係数とオフセットを持つ、新しいRescaleOpを構築します。 scaleFactorとoffsetは、転送元Rasterのすべてのバンド、BufferedImageのすべての色成分(アルファ成分は除く)に適用されます。 RenderingHints引数はnullでも構いません。
        パラメータ:
        scaleFactor - 指定されたスケーリング係数
        offset - 指定されたオフセット
        hints - 指定されたRenderingHints、またはnull
    • メソッドの詳細

      • getScaleFactors

        public final float[] getScaleFactors​(float[] scaleFactors)
        指定された配列のスケーリング係数を返します。 使いやすくするために配列も返すようになっています。 scaleFactorsがnullの場合、新しい配列が割り当てられます。
        パラメータ:
        scaleFactorsこのRescaleOpのスケーリング係数を含む配列
        戻り値:
        このRescaleOpのスケーリング係数。
      • getOffsets

        public final float[] getOffsets​(float[] offsets)
        指定された配列のオフセットを返します。 使いやすくするために配列も返すようになっています。 offsetsがnullの場合、新しい配列が割り当てられます。
        パラメータ:
        offsetsこのRescaleOpのオフセットを含む配列
        戻り値:
        このRescaleOpのオフセット。
      • getNumFactors

        public final int getNumFactors​()
        このRescaleOpのスケーリング係数とオフセットを返します。
        戻り値:
        このRescaleOpのスケーリング係数とオフセットの数。
      • filter

        public final BufferedImage filter​(BufferedImage src,
                                          BufferedImage dst)
        転送元BufferedImageの再スケーリングを行います。 転送元イメージのカラー・モデルが転送先イメージのカラー・モデルと異なる場合、転送先でピクセルが変換されます。 転送先のイメージがnullの場合、転送元のColorModelを使用してBufferedImageが生成されます。 このオブジェクトのスケーリング係数およびオフセットの数が、上記のクラス・コメントの要件を満たさない場合、または転送元イメージがIndexColorModelを持つ場合、IllegalArgumentExceptionがスローされます。
        定義:
        filter、インタフェース: BufferedImageOp
        パラメータ:
        src - フィルタ処理されるBufferedImage
        dst - フィルタ処理対象の転送先またはnull
        戻り値:
        フィルタ処理されたBufferedImage
        例外:
        IllegalArgumentException - srcColorModelIndexColorModelの場合、またはこのRescaleOpのスケーリング係数およびオフセットの数がクラス・コメントの要件を満たさない場合。
      • filter

        public final WritableRaster filter​(Raster src,
                                           WritableRaster dst)
        転送元Rasterのピクセル・データの再スケーリングを行います。 転送先Rasterがnullの場合、新しいRasterが生成されます。 転送元と転送先のバンドの数は一致しなければいけません。 この要件を満たさない場合はIllegalArgumentExceptionがスローされます。 このオブジェクトのスケーリング係数およびオフセットの数は、上記のクラス・コメントの要件を満たさなければいけません。 この要件を満たさない場合はIllegalArgumentExceptionがスローされます。
        定義:
        filter、インタフェース: RasterOp
        パラメータ:
        src - フィルタ処理されるRaster
        dst - フィルタ処理対象の転送先またはnull
        戻り値:
        フィルタ処理されたWritableRaster
        例外:
        IllegalArgumentException - srcdstが同じバンド数を持っていない場合またはこのRescaleOpのスケーリング係数およびオフセットの数がクラス・コメントの要件を満たさない場合。
      • getBounds2D

        public final Rectangle2D getBounds2D​(BufferedImage src)
        再スケーリングされた転送先イメージのバウンディング・ボックスを返します。 これは幾何学的な操作ではないので、バウンディング・ボックスは変化しません。
        定義:
        getBounds2D、インタフェース: BufferedImageOp
        パラメータ:
        src - フィルタ処理されるBufferedImage
        戻り値:
        転送先のイメージのバウンディング・ボックスを表すRectangle2D
      • getBounds2D

        public final Rectangle2D getBounds2D​(Raster src)
        再スケーリングされた転送先Rasterのバウンディング・ボックスを返します。 これは幾何学的な操作ではないので、バウンディング・ボックスは変化しません。
        定義:
        getBounds2D、インタフェース: RasterOp
        パラメータ:
        src - 再スケーリングされた転送先のRaster
        戻り値:
        指定されたRasterの境界。
      • createCompatibleDestImage

        public BufferedImage createCompatibleDestImage​(BufferedImage src,
                                                       ColorModel destCM)
        適切なサイズおよびバンド数で、ゼロ化された転送先イメージを生成します。
        定義:
        createCompatibleDestImage、インタフェース: BufferedImageOp
        パラメータ:
        src - フィルタ・オペレーションのソース・イメージ。
        destCM - 転送先のColorModel。 nullの場合、ソースのColorModelを使用
        戻り値:
        ゼロ化された転送先イメージ。
      • createCompatibleDestRaster

        public WritableRaster createCompatibleDestRaster​(Raster src)
        指定されたソースで、適切なサイズ、適切な数のバンドを持つゼロ化された転送先Rasterを生成します。
        定義:
        createCompatibleDestRaster、インタフェース: RasterOp
        パラメータ:
        src - 転送元Raster
        戻り値:
        ゼロ化された転送先Raster
      • getPoint2D

        public final Point2D getPoint2D​(Point2D srcPt,
                                        Point2D dstPt)
        指定された転送元のポイントに対応する、転送先のポイントの位置を返します。 dstPtがnullでない場合は、戻り値の格納先として使用されます。 幾何学的な操作ではないため、srcPtはdstPtと等しくなります。
        定義:
        getPoint2D、インタフェース: BufferedImageOp
        定義:
        getPoint2D、インタフェース: RasterOp
        パラメータ:
        srcPt - 転送元イメージのポイント
        dstPt - 転送先ポイント、またはnull
        戻り値:
        転送先ポイントの位置