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オブジェクトが指定された場合、色変換が必要なときに、カラー描画ヒントおよびディザリング・ヒントを使用できます。
インプレース操作(転送元と転送先に同じオブジェクトを指定すること)が許可されます。
| コンストラクタ | 説明 |
|---|---|
RescaleOp(float[] scaleFactors, float[] offsets, RenderingHints hints) |
必要なスケーリング係数とオフセットを持つ、新しいRescaleOpを構築します。
|
RescaleOp(float scaleFactor, float offset, RenderingHints hints) |
必要なスケーリング係数とオフセットを持つ、新しいRescaleOpを構築します。
|
| 修飾子と型 | メソッド | 説明 |
|---|---|---|
BufferedImage |
createCompatibleDestImage(BufferedImage src, ColorModel destCM) |
適切なサイズおよびバンド数で、ゼロ化された転送先イメージを生成します。
|
WritableRaster |
createCompatibleDestRaster(Raster src) |
指定されたソースで、適切なサイズ、適切な数のバンドを持つゼロ化された転送先
Rasterを生成します。 |
BufferedImage |
filter(BufferedImage src, BufferedImage dst) |
転送元BufferedImageの再スケーリングを行います。
|
WritableRaster |
filter(Raster src, WritableRaster dst) |
転送元Rasterのピクセル・データの再スケーリングを行います。
|
Rectangle2D |
getBounds2D(BufferedImage src) |
再スケーリングされた転送先イメージのバウンディング・ボックスを返します。
|
Rectangle2D |
getBounds2D(Raster src) |
再スケーリングされた転送先Rasterのバウンディング・ボックスを返します。
|
int |
getNumFactors() |
このRescaleOpのスケーリング係数とオフセットを返します。
|
float[] |
getOffsets(float[] offsets) |
指定された配列のオフセットを返します。
|
Point2D |
getPoint2D(Point2D srcPt, Point2D dstPt) |
指定された転送元のポイントに対応する、転送先のポイントの位置を返します。
|
RenderingHints |
getRenderingHints() |
この操作の描画ヒントを返します。
|
float[] |
getScaleFactors(float[] scaleFactors) |
指定された配列のスケーリング係数を返します。
|
public RescaleOp(float[] scaleFactors,
float[] offsets,
RenderingHints hints)
scaleFactors - 指定されたスケーリング係数offsets - 指定されたオフセットhints - 指定されたRenderingHints、またはnullpublic RescaleOp(float scaleFactor,
float offset,
RenderingHints hints)
scaleFactor - 指定されたスケーリング係数offset - 指定されたオフセットhints - 指定されたRenderingHints、またはnullpublic final float[] getScaleFactors(float[] scaleFactors)
scaleFactorsこのRescaleOpのスケーリング係数を含む配列RescaleOpのスケーリング係数。public final float[] getOffsets(float[] offsets)
offsetsこのRescaleOpのオフセットを含む配列RescaleOpのオフセット。public final int getNumFactors()
RescaleOpのスケーリング係数とオフセットの数。public final BufferedImage filter(BufferedImage src, BufferedImage dst)
filter、インタフェースBufferedImageOpsrc - フィルタ処理されるBufferedImage。dst - フィルタ処理対象の転送先またはnullBufferedImage。IllegalArgumentException - srcのColorModelがIndexColorModelの場合、またはこのRescaleOpのスケーリング係数およびオフセットの数がクラス・コメントの要件を満たさない場合。public final WritableRaster filter(Raster src, WritableRaster dst)
filter、インタフェースRasterOpsrc - フィルタ処理されるRaster。dst - フィルタ処理対象の転送先またはnullWritableRaster。IllegalArgumentException - srcとdstが同じバンド数を持っていない場合またはこのRescaleOpのスケーリング係数およびオフセットの数がクラス・コメントの要件を満たさない場合。public final Rectangle2D getBounds2D(BufferedImage src)
getBounds2D、インタフェースBufferedImageOpsrc - フィルタ処理されるBufferedImage。Rectangle2D。public final Rectangle2D getBounds2D(Raster src)
getBounds2D、インタフェースRasterOpsrc - 再スケーリングされた転送先のRasterRasterの境界。public BufferedImage createCompatibleDestImage(BufferedImage src, ColorModel destCM)
createCompatibleDestImage、インタフェースBufferedImageOpsrc - フィルタ・オペレーションのソース・イメージ。destCM - 転送先のColorModel。 nullの場合、ソースのColorModelを使用 public WritableRaster createCompatibleDestRaster(Raster src)
Rasterを生成します。createCompatibleDestRaster、インタフェースRasterOpsrc - 転送元RasterRaster。public final Point2D getPoint2D(Point2D srcPt, Point2D dstPt)
getPoint2D、インタフェースBufferedImageOpgetPoint2D、インタフェースRasterOpsrcPt - 転送元イメージのポイントdstPt - 転送先ポイント、またはnullpublic final RenderingHints getRenderingHints()
getRenderingHints、インタフェースBufferedImageOpgetRenderingHints、インタフェースRasterOpRescaleOpの描画ヒント。 バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。 そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2025, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Documentation Redistribution Policyも参照してください。