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, 2013, Oracle and/or its affiliates. All rights reserved.