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
、またはnull
public RescaleOp(float scaleFactor, float offset, RenderingHints hints)
scaleFactor
- 指定されたスケーリング係数offset
- 指定されたオフセットhints
- 指定されたRenderingHints
、またはnull
public 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
、インタフェース: BufferedImageOp
src
- フィルタ処理されるBufferedImage
。dst
- フィルタ処理対象の転送先またはnull
BufferedImage
。IllegalArgumentException
- src
のColorModel
がIndexColorModel
の場合、またはこのRescaleOp
のスケーリング係数およびオフセットの数がクラス・コメントの要件を満たさない場合。public final WritableRaster filter(Raster src, WritableRaster dst)
filter
、インタフェース: RasterOp
src
- フィルタ処理されるRaster
。dst
- フィルタ処理対象の転送先またはnull
WritableRaster
。IllegalArgumentException
- src
とdst
が同じバンド数を持っていない場合またはこのRescaleOp
のスケーリング係数およびオフセットの数がクラス・コメントの要件を満たさない場合。public final Rectangle2D getBounds2D(BufferedImage src)
getBounds2D
、インタフェース: BufferedImageOp
src
- フィルタ処理されるBufferedImage
。Rectangle2D
。public final Rectangle2D getBounds2D(Raster src)
getBounds2D
、インタフェース: RasterOp
src
- 再スケーリングされた転送先のRaster
Raster
の境界。public BufferedImage createCompatibleDestImage(BufferedImage src, ColorModel destCM)
createCompatibleDestImage
、インタフェース: BufferedImageOp
src
- フィルタ・オペレーションのソース・イメージ。destCM
- 転送先のColorModel。nullの場合、ソースのColorModelを使用public WritableRaster createCompatibleDestRaster(Raster src)
Raster
を生成します。createCompatibleDestRaster
、インタフェース: RasterOp
src
- 転送元Raster
Raster
。public final Point2D getPoint2D(Point2D srcPt, Point2D dstPt)
getPoint2D
、インタフェース: BufferedImageOp
getPoint2D
、インタフェース: RasterOp
srcPt
- 転送元イメージのポイントdstPt
- 転送先ポイント、またはnull
public final RenderingHints getRenderingHints()
getRenderingHints
、インタフェース: BufferedImageOp
getRenderingHints
、インタフェース: RasterOp
RescaleOp
の描画ヒント。 バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2016, Oracle and/or its affiliates. All rights reserved.Use is subject to license termsDocumentation Redistribution Policyも参照してください。