JavaTM Platform
Standard Ed. 6

java.awt.image
クラス RescaleOp

java.lang.Object
  上位を拡張 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(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
 

コンストラクタの詳細

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 がスローされます。

定義:
インタフェース BufferedImageOp 内の filter
パラメータ:
src - フィルタ処理される BufferedImage
dst - フィルタ処理対象の転送先、 または null
戻り値:
フィルタ処理された BufferedImage
例外:
IllegalArgumentException - srcColorModelIndexColorModel の場合、 またはこの RescaleOp のスケーリング係数 およびオフセットの数がクラス説明の要件を 満たさない場合

filter

public final WritableRaster filter(Raster src,
                                   WritableRaster dst)
転送元 Raster のピクセルデータの再スケーリングを行います。転送先 Raster が null の場合、新しい Raster が生成されます。転送元と転送先のバンドの数は一致しなければなりません。この要件を満たさない場合は IllegalArgumentException がスローされます。このオブジェクトのスケーリング係数およびオフセットの数は、上記のクラス説明の要件を満たさなければなりません。この要件を満たさない場合は IllegalArgumentException がスローされます。

定義:
インタフェース RasterOp 内の filter
パラメータ:
src - フィルタ処理される Raster
dst - フィルタ処理対象の転送先、 または null
戻り値:
フィルタ処理された WritableRaster
例外:
IllegalArgumentException - srcdst が同じバンド数を持っていない場合 またはこの RescaleOp のスケーリング係数 およびオフセットの数がクラス説明の要件を 満たさない場合

getBounds2D

public final Rectangle2D getBounds2D(BufferedImage src)
再スケーリングされた転送先イメージのバウンディングボックスを返します。これは幾何学的な操作ではないので、バウンディングボックスは変化しません。

定義:
インタフェース BufferedImageOp 内の getBounds2D
パラメータ:
src - フィルタ処理される BufferedImage
戻り値:
転送先イメージのバウンディングボックスを表す Rectangle2D

getBounds2D

public final Rectangle2D getBounds2D(Raster src)
再スケーリングされた転送先 Raster のバウンディングボックスを返します。これは幾何学的な操作ではないので、バウンディングボックスは変化しません。

定義:
インタフェース RasterOp 内の getBounds2D
パラメータ:
src - 再スケーリングされた転送先の Raster
戻り値:
指定された Raster の境界

createCompatibleDestImage

public BufferedImage createCompatibleDestImage(BufferedImage src,
                                               ColorModel destCM)
適切なサイズおよびバンド数で、ゼロ化された転送先イメージを生成します。

定義:
インタフェース BufferedImageOp 内の createCompatibleDestImage
パラメータ:
src - フィルタオペレーションのソースイメージ
destCM - 転送先の ColorModel。null の場合、 ソースの ColorModel を使用
戻り値:
ゼロ化された転送先イメージ

createCompatibleDestRaster

public WritableRaster createCompatibleDestRaster(Raster src)
指定されたソースで、適切なサイズ、適切な数のバンドを持つゼロ化された転送先 Raster を生成します。

定義:
インタフェース RasterOp 内の createCompatibleDestRaster
パラメータ:
src - 転送元の Raster
戻り値:
ゼロ化された転送先の Raster

getPoint2D

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

定義:
インタフェース BufferedImageOp 内の getPoint2D
定義:
インタフェース RasterOp 内の getPoint2D
パラメータ:
srcPt - 転送元イメージのポイント
dstPt - 転送先ポイント、または null
戻り値:
転送先ポイントの位置

getRenderingHints

public final RenderingHints getRenderingHints()
この操作の描画ヒントを返します。

定義:
インタフェース BufferedImageOp 内の getRenderingHints
定義:
インタフェース RasterOp 内の getRenderingHints
戻り値:
この RescaleOp の描画ヒント

JavaTM Platform
Standard Ed. 6

バグの報告と機能のリクエスト
さらに詳しい API リファレンスおよび開発者ドキュメントについては、Java SE 開発者用ドキュメントを参照してください。開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、およびコード実例が含まれています。

Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。