JavaTM 2 Platform
Std. Ed. v1.3

java.awt.image
クラス ConvolveOp

java.lang.Object
  |
  +--java.awt.image.ConvolveOp
すべての実装インタフェース:
BufferedImageOp, RasterOp

public class ConvolveOp
extends Object
implements BufferedImageOp, RasterOp

このクラスは、ソースからデスティネーションへの畳み込み演算を実装します。畳み込み演算カーネルを使用する畳み込み演算は空間オペレーションであり、入力ピクセルから出力ピクセルを求めるには、畳み込み演算カーネルに入力ピクセルの周囲の値を乗算します。これにより、出力ピクセルが隣接するピクセルから受ける影響は、畳み込み演算カーネルによって数学的に指定できます。

このクラスは、色成分のアルファ成分をあらかじめ乗算する BufferedImage データを使って演算を行います。ソースとなる BufferedImage にアルファ成分があり、色成分にそのアルファ成分があらかじめ乗算されていない場合、データは畳み込み演算の前にあらかじめ乗算されます。まだ乗算されていない色成分が Destination にある場合、アルファは Destination に格納される前に除算されます。アルファが 0 の場合、色成分は 0 に設定されます。Destination にアルファ成分がない場合、その結果として生じるアルファは、色成分で 1 回除算されたあとで破棄されます。

Raster は、アルファチャネルを持たないものとして扱われます。BufferedImages でのアルファチャネルの上述のような扱いが望ましくない場合、それを避けるには、ソースである BufferedImage の Raster を取得し、Raster を扱うこのクラスの filter メソッドを使います。

コンストラクタで RenderingHints オブジェクトが指定された場合、色変換が必要なときに、カラー描画ヒントおよびディザリングヒントが使用されることもあります。

ソースとデスティネーションを同じオブジェクトにはしないでください。

関連項目:
Kernel, RenderingHints.KEY_COLOR_RENDERING, RenderingHints.KEY_DITHERING

フィールドの概要
static int EDGE_NO_OP
          ソースイメージの縁にあるピクセルは、デスティネーションの対応するピクセルにそのままコピーされます。
static int EDGE_ZERO_FILL
          デスティネーションイメージの縁にあるピクセルは 0 に設定されます。
 
コンストラクタの概要
ConvolveOp(Kernel kernel)
          指定された Kernel で ConvolveOp を構築します。
ConvolveOp(Kernel kernel, int edgeCondition, RenderingHints hints)
          指定された Kernel、縁の条件、および RenderingHints オブジェクト (これは null でも可) で ConvolveOp を構築します。
 
メソッドの概要
 BufferedImage createCompatibleDestImage(BufferedImage src, ColorModel destCM)
          適切なサイズと数のバンドを持つゼロ化されたデスティネーションイメージを作成します。
 WritableRaster createCompatibleDestRaster(Raster src)
          指定されたソースで、正しいサイズおよびバンド数を持つゼロ化されたデスティネーション Raster を作成します。
 BufferedImage filter(BufferedImage src, BufferedImage dst)
          BufferedImages で畳み込み演算を実行します。
 WritableRaster filter(Raster src, WritableRaster dst)
          Raster の畳み込み演算を実行します。
 Rectangle2D getBounds2D(BufferedImage src)
          フィルタ処理されたデスティネーションイメージのバウンディングボックスを返します。
 Rectangle2D getBounds2D(Raster src)
          フィルタ処理されたデスティネーションの Raster のバウンディングボックスを返します。
 int getEdgeCondition()
          縁の条件を返します。
 Kernel getKernel()
          Kernel を返します。
 Point2D getPoint2D(Point2D srcPt, Point2D dstPt)
          指定されたソース内のポイントに対応する、デスティネーションのポイントの位置を返します。
 RenderingHints getRenderingHints()
          このオペレーションの描画ヒントを返します。
 
クラス java.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

EDGE_ZERO_FILL

public static final int EDGE_ZERO_FILL
デスティネーションイメージの縁にあるピクセルは 0 に設定されます。これがデフォルトです。

EDGE_NO_OP

public static final int EDGE_NO_OP
ソースイメージの縁にあるピクセルは、デスティネーションの対応するピクセルにそのままコピーされます。
コンストラクタの詳細

ConvolveOp

public ConvolveOp(Kernel kernel,
                  int edgeCondition,
                  RenderingHints hints)
指定された Kernel、縁の条件、および RenderingHints オブジェクト (これは null でも可) で ConvolveOp を構築します。
関連項目:
Kernel, EDGE_NO_OP, EDGE_ZERO_FILL, RenderingHints

ConvolveOp

public ConvolveOp(Kernel kernel)
指定された Kernel で ConvolveOp を構築します。縁の条件は EDGE_ZERO_FILL になります。
関連項目:
Kernel, EDGE_ZERO_FILL
メソッドの詳細

getEdgeCondition

public int getEdgeCondition()
縁の条件を返します。
関連項目:
EDGE_NO_OP, EDGE_ZERO_FILL

getKernel

public final Kernel getKernel()
Kernel を返します。

filter

public final BufferedImage filter(BufferedImage src,
                                  BufferedImage dst)
BufferedImages で畳み込み演算を実行します。ソースイメージの各成分は畳み込み演算され、アルファ成分もある場合はそれも含めて畳み込み演算されます。ソースイメージのカラーモデルとデスティネーションイメージのカラーモデルが異なる場合、各ピクセルはデスティネーションで変換されます。デスティネーションイメージが null である場合は、ソースの ColorModel を使って BufferedImage が作成されます。ソースとデスティネーションが同じ場合は、IllegalArgumentException がスローされます。
定義:
インタフェース BufferedImageOp 内の filter
パラメータ:
src - フィルタをかける、ソースの BufferedImage
dst - フィルタをかけられた src のデスティネーション BufferedImage
戻り値:
フィルタをかけられた BufferedImage
例外:
NullPointerException - srcnull の場合
IllegalArgumentException - srcdst と等しい場合
ImagingOpException - src をフィルタにかけられない場合

filter

public final WritableRaster filter(Raster src,
                                   WritableRaster dst)
Raster の畳み込み演算を実行します。ソースとなる Raster の各バンドが畳み込み演算されます。ソースとデスティネーションのバンド数は、等しい必要があります。デスティネーションの Raster が null の場合は、新しい Raster が作成されます。ソースとデスティネーションが同じ場合は、IllegalArgumentException がスローされます。
定義:
インタフェース RasterOp 内の filter
パラメータ:
src - フィルタをかける、ソースの Raster
dst - フィルタをかけられた src のデスティネーション WritableRaster
戻り値:
フィルタをかけられた WritableRaster
例外:
NullPointerException - srcnull の場合
ImagingOpException - srcdst が同じバンド数を持っていない場合
ImagingOpException - src をフィルタにかけられない場合
IllegalArgumentException - srcdst と等しい場合

createCompatibleDestImage

public BufferedImage createCompatibleDestImage(BufferedImage src,
                                               ColorModel destCM)
適切なサイズと数のバンドを持つゼロ化されたデスティネーションイメージを作成します。destCM が null の場合は、適切な ColorModel が使用されます。
定義:
インタフェース BufferedImageOp 内の createCompatibleDestImage
パラメータ:
src - フィルタオペレーションのソースイメージ
destCM - デスティネーションの ColorModel。null も可

createCompatibleDestRaster

public WritableRaster createCompatibleDestRaster(Raster src)
指定されたソースで、正しいサイズおよびバンド数を持つゼロ化されたデスティネーション Raster を作成します。
定義:
インタフェース RasterOp 内の createCompatibleDestRaster

getBounds2D

public final Rectangle2D getBounds2D(BufferedImage src)
フィルタ処理されたデスティネーションイメージのバウンディングボックスを返します。これは幾何学的な操作ではないので、バウンディングボックスは変化しません。
定義:
インタフェース BufferedImageOp 内の getBounds2D

getBounds2D

public final Rectangle2D getBounds2D(Raster src)
フィルタ処理されたデスティネーションの Raster のバウンディングボックスを返します。これは幾何学的な操作ではないので、バウンディングボックスは変化しません。
定義:
インタフェース RasterOp 内の getBounds2D

getPoint2D

public final Point2D getPoint2D(Point2D srcPt,
                                Point2D dstPt)
指定されたソース内のポイントに対応する、デスティネーションのポイントの位置を返します。dstPt が null でない場合は、戻り値の格納先として dstPt が使用されます。幾何学的な操作ではないため、srcPt は dstPt と等しくなります。
定義:
インタフェース BufferedImageOp 内の getPoint2D

getRenderingHints

public final RenderingHints getRenderingHints()
このオペレーションの描画ヒントを返します。
定義:
インタフェース BufferedImageOp 内の getRenderingHints

JavaTM 2 Platform
Std. Ed. v1.3

バグや機能要求の報告
さらに詳しい API リファレンスおよび開発者ドキュメントについては、 Java 2 SDK SE Developer Documentation を参照してください。このドキュメントには、概念、用語の定義、回避策、 実用的なコード例など、開発者を対象にした詳細な解説が掲載されています。

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.