JavaTM 2 Platform
Standard Ed. 6

java.awt.image
類別 ConvolveOp

java.lang.Object
  繼承者 java.awt.image.ConvolveOp
所有已實作的介面:
BufferedImageOp, RasterOp

public class ConvolveOp
extends Object
implements BufferedImageOp, RasterOp

此類別實作從源到目標的卷積。使用卷積核的卷積是一種通過輸入像素來計算輸出像素的空間運算,方法是將核與輸入像素鄰域相乘。這種運算使得直接鄰域可按核數學指定的方式影響輸出像素。

此類別可對顏色份量預乘 alpha 份量的 BufferedImage 資料進行運算。如果源 BufferedImage 有 alpha 份量,並且顏色份量沒有預乘 alpha 份量,則在卷積運算前要先預乘該資料。如果 Destination 有未進行預乘的顏色份量,則在存入到 Destination 之前除以 alpha 份量(如果 alpha 為 0,則顏色份量被設置為 0)。如果 Destination 沒有 alpha 份量,則在顏色份量除以 alpha 份量之從後即丟棄 alpha 份量。

Raster 被看作是沒有 alpha 通道的。如果不希望對 BufferedImage 中的 alpha 通道進行上述處理,則可以通過獲取源 BufferedImage 的 Raster 和使用與 Raster 一起工作的此類別的 filter 方法予以避免。

如果 RenderingHints 物件是在建構子中指定的,則在需要進行顏色變換時使用顏色呈現提示和抖動提示。

注意,Source 和 Destination 可能不是同一個物件。

另請參見:
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、邊緣條件和 RenderingHint 物件(可以為 null)的 ConvolveOp。
 
方法摘要
 BufferedImage createCompatibleDestImage(BufferedImage src, ColorModel destCM)
          創建具有正確 band 大小和數量的歸零目標圖像。
 WritableRaster createCompatibleDestRaster(Raster src)
          創建給定源且具有正確 band 大小和數量的歸零目標 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 getEdgeCondition()
          返回邊緣條件。
 Kernel getKernel()
          返回 Kernel。
 Point2D getPoint2D(Point2D srcPt, Point2D dstPt)
          返回源中給定點的目標點位置。
 RenderingHints getRenderingHints()
          返回此 op 的呈現提示。
 
從類別 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、邊緣條件和 RenderingHint 物件(可以為 null)的 ConvolveOp。

參數:
kernel - 指定的 Kernel
edgeCondition - 指定的邊緣條件
hints - 指定的 RenderingHints 物件
另請參見:
Kernel, EDGE_NO_OP, EDGE_ZERO_FILL, RenderingHints

ConvolveOp

public ConvolveOp(Kernel kernel)
建構給定了 Kernel 的 ConvolveOp。邊緣條件將為 EDGE_ZERO_FILL。

參數:
kernel - 指定的 Kernel
另請參見:
Kernel, EDGE_ZERO_FILL
方法詳細資訊

getEdgeCondition

public int getEdgeCondition()
返回邊緣條件。

返回:
ConvolveOp 的邊緣條件。
另請參見:
EDGE_NO_OP, EDGE_ZERO_FILL

getKernel

public final Kernel getKernel()
返回 Kernel。

返回:
ConvolveOpKernel

filter

public final BufferedImage filter(BufferedImage src,
                                  BufferedImage dst)
對 BufferedImage 執行卷積運算。源圖像的每個份量都將被捲積處理(包括 alpha 份量,如果存在)。如果源圖像中的顏色模型與目標圖像中的不相同,則像素將按目標中像素轉換。如果目標圖像為 null,則使用源 ColorModel 創建 BufferedImage。如果源與目標相同,則可能拋出 IllegalArgumentException。

指定者:
介面 BufferedImageOp 中的 filter
參數:
src - 要過濾的源 BufferedImage
dst - 已過濾的 src 的目標 BufferedImage
返回:
已過濾的 BufferedImage
拋出:
NullPointerException - 如果 srcnull
IllegalArgumentException - 如果 src 等於 dst
ImagingOpException - 如果 src 不能過濾

filter

public final WritableRaster filter(Raster src,
                                   WritableRaster dst)
對 Raster 執行卷積運算。源 Raster 的每個 band 都將被捲積處理。源和目標必須有相同數量的 band。如果目標 Raster 為 null,則創建新 Raster。如果源與目標相同,則可能拋出 IllegalArgumentException。

指定者:
介面 RasterOp 中的 filter
參數:
src - 要過濾的源 Raster
dst - 已過濾的 src 的目標 WritableRaster
返回:
已過濾的 WritableRaster
拋出:
NullPointerException - 如果 srcnull
ImagingOpException - 如果 srcdst 沒有相同數量的 band
ImagingOpException - 如果 src 不能過濾
IllegalArgumentException - 如果 src 等於 dst

createCompatibleDestImage

public BufferedImage createCompatibleDestImage(BufferedImage src,
                                               ColorModel destCM)
創建具有正確 band 大小和數量的歸零目標圖像。如果 destCM 為 null,則使用適當的 ColorModel。

指定者:
介面 BufferedImageOp 中的 createCompatibleDestImage
參數:
src - 進行過濾操作的源圖像。
destCM - 目標的 ColorModel。可以為 null。
返回:
具有正確 band 大小和數量的 BufferedImage

createCompatibleDestRaster

public WritableRaster createCompatibleDestRaster(Raster src)
創建給定源且具有正確 band 大小和數量的歸零目標 Raster。

指定者:
介面 RasterOp 中的 createCompatibleDestRaster
參數:
src - 源 Raster
返回:
src 相容的 WritableRaster

getBounds2D

public final Rectangle2D getBounds2D(BufferedImage src)
返回已過濾目標圖像的邊界框。因為這不是幾何操作,所以邊界框不變。

指定者:
介面 BufferedImageOp 中的 getBounds2D
參數:
src - 要過濾的 BufferedImage
返回:
表示目標圖像邊界框的 Rectangle2D

getBounds2D

public final Rectangle2D getBounds2D(Raster src)
返回已過濾目標 Raster 的邊界框。因為這不是幾何操作,所以邊界框不變。

指定者:
介面 RasterOp 中的 getBounds2D
參數:
src - 源 Raster
返回:
一個 Rectangle2D,它是從過濾操作得到的 Raster 的邊界框。

getPoint2D

public final Point2D getPoint2D(Point2D srcPt,
                                Point2D dstPt)
返回源中給定點的目標點位置。如果 dstPt 為非 null,則該位置將用來存儲返回值。因為這不是幾何操作,所以 srcPt 將等於 dstPt。

指定者:
介面 BufferedImageOp 中的 getPoint2D
指定者:
介面 RasterOp 中的 getPoint2D
參數:
srcPt - 表示源圖像中點的 Point2D
dstPt - 用於存儲結果的 Point2D
返回:
與源圖像中指定點對應的目標圖像中的 Point2D

getRenderingHints

public final RenderingHints getRenderingHints()
返回此 op 的呈現提示。

指定者:
介面 BufferedImageOp 中的 getRenderingHints
指定者:
介面 RasterOp 中的 getRenderingHints
返回:
針對此 BufferedImageOpRenderingHints 物件。如果沒有設置提示,則返回 null。

JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only