|
JavaTM 2 Platform Std. Ed. v1.3 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object | +--java.awt.image.RescaleOp
このクラスは、各ピクセルのサンプル値にスケーリング係数を掛けてから、オフセットを加えることによって、ソースイメージのデータをピクセル単位で再スケーリングします。スケーリングされたサンプル値は、デスティネーションイメージで表示可能な最小値/最大値にクリッピングされます。
再スケーリングオペレーションの擬似コードは次のとおりです。
for each pixel from Source object { for each band/component of the pixel { dstElement = (srcElement*scaleFactor) + offset } }
Raster の場合、再スケーリングはバンドに対して行われます。スケーリング定数セットの数が 1 つの場合には同じ定数がすべてのバンドに適用されます。そうでない場合、スケーリング定数セットの数はソース Raster バンドの数と同じになります。
BufferedImage の場合、再スケーリングは色成分およびアルファ成分に対して行われます。スケーリング定数セットの数が 1 つの場合は、同じ定数がすべての色成分 (アルファ成分を除く) に適用されます。そうでない場合、スケーリング定数セットの数はソースの色成分の数と同じになり、この場合、アルファ成分 (存在する場合) の再スケーリングは実行されません。どちらにも当てはまらない場合は、スケーリング定数セットの数はソースの色成分とアルファ成分の合計と同じになり、この場合、すべての色成分およびアルファ成分が再スケーリングされます。
あらかじめ乗算されたアルファデータを持つ BufferedImage ソースは、再スケーリングでは、あらかじめ乗算をされていないイメージと同様に扱われます。つまり、データがあらかじめ乗算されたかどうかどうかとは無関係に、BufferedImage ソースの生のデータに対してバンド単位で再スケーリングが実行されます。色変換がデスティネーションの ColorModel で必要な場合、ソースとデスティネーションの両方の、あらかじめ乗算された状態がこのステップで考慮されます。
IndexColorModel を持つイメージは再スケーリングできません。
コンストラクタで RenderingHints オブジェクトが指定された場合、色変換が必要なときに、カラー描画ヒントおよびディザリングヒントが使用されることもあります。
インプレースオペレーションが可能です。つまり、ソースとデスティネーションは同じオブジェクトでもかまいません。
RenderingHints.KEY_COLOR_RENDERING
,
RenderingHints.KEY_DITHERING
コンストラクタの概要 | |
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)
指定された配列のスケーリング係数を返します。 |
クラス java.lang.Object から継承したメソッド |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
コンストラクタの詳細 |
public RescaleOp(float[] scaleFactors, float[] offsets, RenderingHints hints)
public RescaleOp(float scaleFactor, float offset, RenderingHints hints)
メソッドの詳細 |
public final float[] getScaleFactors(float[] scaleFactors)
public final float[] getOffsets(float[] offsets)
public final int getNumFactors()
public final BufferedImage filter(BufferedImage src, BufferedImage dst)
BufferedImageOp
内の filter
public final WritableRaster filter(Raster src, WritableRaster dst)
RasterOp
内の filter
public final Rectangle2D getBounds2D(BufferedImage src)
BufferedImageOp
内の getBounds2D
public final Rectangle2D getBounds2D(Raster src)
RasterOp
内の getBounds2D
public BufferedImage createCompatibleDestImage(BufferedImage src, ColorModel destCM)
BufferedImageOp
内の createCompatibleDestImage
src
- フィルタオペレーションのソースイメージdestCM
- デスティネーションの ColorModel。null の場合は、ソースの ColorModel が使用されるpublic WritableRaster createCompatibleDestRaster(Raster src)
RasterOp
内の createCompatibleDestRaster
public final Point2D getPoint2D(Point2D srcPt, Point2D dstPt)
BufferedImageOp
内の getPoint2D
public final RenderingHints getRenderingHints()
BufferedImageOp
内の getRenderingHints
|
JavaTM 2 Platform Std. Ed. v1.3 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Java、Java 2D、JDBC は、米国およびその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2000 Sun Microsystems, Inc. 901 San Antonio Road,
Palo Alto, California, 94303, U.S.A. All Rights Reserved.