モジュール java.desktop
パッケージ java.awt.image

クラスConvolveOp

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

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

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

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

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

転送元と転送先を同じオブジェクトにはしないでください。

関連項目:
  • フィールド詳細

    • EDGE_ZERO_FILL

      @Native public static final int EDGE_ZERO_FILL
      転送先イメージの縁にあるピクセルは0に設定されます。 これはデフォルトです。
      関連項目:
    • EDGE_NO_OP

      @Native public static final int EDGE_NO_OP
      転送元イメージの縁にあるピクセルは、転送先の対応するピクセルにそのままコピーされます。
      関連項目:
  • コンストラクタの詳細

    • ConvolveOp

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

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

    • getEdgeCondition

      public int getEdgeCondition()
      縁の条件を返します。
      戻り値:
      このConvolveOpの縁の条件。
      関連項目:
    • getKernel

      public final Kernel getKernel()
      Kernelを返します。
      戻り値:
      このConvolveOpKernel
    • filter

      public final BufferedImage filter(BufferedImage src, BufferedImage dst)
      BufferedImagesで畳込み演算を実行します。 転送元イメージの各成分は畳込み演算され、アルファ成分もある場合はそれも含めて畳込み演算されます。 転送元イメージのカラー・モデルが転送先イメージのカラー・モデルと異なる場合、転送先でピクセルが変換されます。 転送先のイメージがnullの場合、転送元のColorModelを使用してBufferedImageが生成されます。 転送元と転送先が同じ場合は、IllegalArgumentExceptionがスローされます。
      定義:
      filter、インタフェースBufferedImageOp
      パラメータ:
      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がスローされます。
      定義:
      filter、インタフェースRasterOp
      パラメータ:
      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が使用されます。
      定義:
      createCompatibleDestImage、インタフェースBufferedImageOp
      パラメータ:
      src - フィルタ・オペレーションのソース・イメージ。
      destCM - 転送先のColorModel。 nullも可。
      戻り値:
      適切なサイズおよびバンド数を持つ転送先BufferedImage
    • createCompatibleDestRaster

      public WritableRaster createCompatibleDestRaster(Raster src)
      指定された転送元で、正しいサイズおよびバンド数を持つゼロ化された転送先Rasterを作成します。
      定義:
      createCompatibleDestRaster、インタフェースRasterOp
      パラメータ:
      src - 転送元Raster
      戻り値:
      srcと互換性のあるWritableRaster
    • getBounds2D

      public final Rectangle2D getBounds2D(BufferedImage src)
      フィルタ処理された転送先イメージのバウンディング・ボックスを返します。 これは幾何学的な操作ではないので、バウンディング・ボックスは変化しません。
      定義:
      getBounds2D、インタフェースBufferedImageOp
      パラメータ:
      src - フィルタ処理されるBufferedImage
      戻り値:
      転送先のイメージのバウンディング・ボックスを表すRectangle2D
    • getBounds2D

      public final Rectangle2D getBounds2D(Raster src)
      フィルタ処理された転送先Rasterのバウンディング・ボックスを返します。 これは幾何学的な操作ではないので、バウンディング・ボックスは変化しません。
      定義:
      getBounds2D、インタフェースRasterOp
      パラメータ:
      src - 転送元Raster
      戻り値:
      フィルタ・リング操作によるRasterのバウンディング・ボックスを表すRectangle2D
    • getPoint2D

      public final Point2D getPoint2D(Point2D srcPt, Point2D dstPt)
      指定された転送元のポイントに対応する、転送先のポイントの位置を返します。 dstPtがnullでない場合は、戻り値の格納先として使用されます。 幾何学的な操作ではないため、srcPtはdstPtと等しくなります。
      定義:
      getPoint2D、インタフェースBufferedImageOp
      定義:
      getPoint2D、インタフェースRasterOp
      パラメータ:
      srcPt - 転送元イメージのポイントを表すPoint2D
      dstPt - 結果が格納されるPoint2D
      戻り値:
      指定された転送元イメージの指定されたポイントに対応する転送先イメージのPoint2D
    • getRenderingHints

      public final RenderingHints getRenderingHints()
      この操作の描画ヒントを返します。
      定義:
      getRenderingHints、インタフェースBufferedImageOp
      定義:
      getRenderingHints、インタフェースRasterOp
      戻り値:
      このBufferedImageOpRenderingHintsオブジェクト。 ヒントが設定されていない場合はnullを返す