JavaTM 2 Platform
Standard Ed. 6

java.awt.image
類別 AffineTransformOp

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

public class AffineTransformOp
extends Object
implements BufferedImageOp, RasterOp

此類別使用仿射轉換來執行從源圖像或 Raster 中 2D 坐標到目標圖像或 Raster 中 2D 坐標的線性映射。所使用的插值型別由建構子通過一個 RenderingHints 物件或通過此類別中定義的整數插值型別之一來指定。

如果在建構子中指定了 RenderingHints 物件,則使用插值提示和呈現的質量提示為此操作設置插值型別。要求進行顏色轉換時,可以使用顏色呈現提示和抖動提示。

注意,務必要滿足以下約束:

另請參見:
AffineTransform, BufferedImageFilter, RenderingHints.KEY_INTERPOLATION, RenderingHints.KEY_RENDERING, RenderingHints.KEY_COLOR_RENDERING, RenderingHints.KEY_DITHERING

欄位摘要
static int TYPE_BICUBIC
          雙三次插值型別。
static int TYPE_BILINEAR
          雙線性的插值型別。
static int TYPE_NEAREST_NEIGHBOR
          最接近的鄰插值型別。
 
建構子摘要
AffineTransformOp(AffineTransform xform, int interpolationType)
          根據仿射轉換和插值型別建構一個 AffineTransformOp
AffineTransformOp(AffineTransform xform, RenderingHints hints)
          根據仿射轉換建構 AffineTransformOp
 
方法摘要
 BufferedImage createCompatibleDestImage(BufferedImage src, ColorModel destCM)
          創建一個具有正確大小和 band 數的經過檢查的目標圖像。
 WritableRaster createCompatibleDestRaster(Raster src)
          創建一個具有正確大小和 band 數的經過檢查的目標 Raster
 BufferedImage filter(BufferedImage src, BufferedImage dst)
          轉換源 BufferedImage 並將結果存儲在目標 BufferedImage 中。
 WritableRaster filter(Raster src, WritableRaster dst)
          轉換源 Raster 並將結果存儲在目標 Raster 中。
 Rectangle2D getBounds2D(BufferedImage src)
          返回轉換後的目標圖像的邊界框。
 Rectangle2D getBounds2D(Raster src)
          返回轉換後的目標圖像的邊界框。
 int getInterpolationType()
          返回由此 op 使用的插值型別。
 Point2D getPoint2D(Point2D srcPt, Point2D dstPt)
          返回與源圖像中給定點對應的目標點的位置。
 RenderingHints getRenderingHints()
          返回此轉換操作使用的呈現提示。
 AffineTransform getTransform()
          返回此轉換操作使用的仿射轉換。
 
從類別 java.lang.Object 繼承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

欄位詳細資訊

TYPE_NEAREST_NEIGHBOR

public static final int TYPE_NEAREST_NEIGHBOR
最接近的鄰插值型別。

另請參見:
常數欄位值

TYPE_BILINEAR

public static final int TYPE_BILINEAR
雙線性的插值型別。

另請參見:
常數欄位值

TYPE_BICUBIC

public static final int TYPE_BICUBIC
雙三次插值型別。

另請參見:
常數欄位值
建構子詳細資訊

AffineTransformOp

public AffineTransformOp(AffineTransform xform,
                         RenderingHints hints)
根據仿射轉換建構 AffineTransformOp。根據 RenderingHints 物件確定插值型別。如果定義了插值提示,則要使用該提示。否則,如果定義了呈現的質量提示,則根據其值確定插值型別。如果沒有指定提示(hints 為 null),則插值型別為 TYPE_NEAREST_NEIGHBOR

參數:
xform - 該操作要使用的 AffineTransform
hints - 用於指定該操作插值型別的 RenderingHints 物件。
拋出:
ImagingOpException - 如果轉換是不可逆的。
另請參見:
RenderingHints.KEY_INTERPOLATION, RenderingHints.KEY_RENDERING

AffineTransformOp

public AffineTransformOp(AffineTransform xform,
                         int interpolationType)
根據仿射轉換和插值型別建構一個 AffineTransformOp

參數:
xform - 該操作要使用的 AffineTransform
interpolationType - 由此類別定義的整數插值型別常數之一:TYPE_NEAREST_NEIGHBORTYPE_BILINEARTYPE_BICUBIC
拋出:
ImagingOpException - 如果轉換是不可逆的。
方法詳細資訊

getInterpolationType

public final int getInterpolationType()
返回由此 op 使用的插值型別。

返回:
插值型別。
另請參見:
TYPE_NEAREST_NEIGHBOR, TYPE_BILINEAR, TYPE_BICUBIC

filter

public final BufferedImage filter(BufferedImage src,
                                  BufferedImage dst)
轉換源 BufferedImage 並將結果存儲在目標 BufferedImage 中。如果兩個圖像的顏色模型不比對,則將顏色模型轉換成目標顏色模型。如果目標圖像為 null,則使用源 ColorModel 創建 BufferedImage

getBounds2D(BufferedImage) 返回的矩形坐標不一定與由此方法返回的 BufferedImage 的坐標相同。如果矩形的左上角坐標為負,則不用繪製矩形的這一部分。如果矩形的左上角坐標為正,則在目標 BufferedImage 中的該位置繪製過濾後的圖像。

如果源圖像與目標圖像相同,則拋出 IllegalArgumentException

指定者:
介面 BufferedImageOp 中的 filter
參數:
src - 要轉換的 BufferedImage
dst - 要在其中存儲轉換結果的 BufferedImage
返回:
過濾後的 BufferedImage
拋出:
IllegalArgumentException - 如果 srcdst 相同
ImagingOpException - 如果由於無效的圖像格式、tile 格式、圖像處理操作或任何其他不受支持的操作引起的資料處理錯誤,導致該圖像無法轉換。

filter

public final WritableRaster filter(Raster src,
                                   WritableRaster dst)
轉換源 Raster 並將結果存儲在目標 Raster 中。此操作逐個 band 執行轉換。

如果目標 Raster 為 null,則創建一個新的 Raster。如果源 Raster 與目標 Raster 相同,或者源 Raster 中的 band 數不等於目標 Raster 中的 band 數,則可能拋出 IllegalArgumentException

getBounds2D(Raster) 返回的矩形坐標不一定與由此方法返回的 WritableRaster 的坐標相同。如果矩形的左上角坐標為負,則不用繪製矩形的這一部分。如果矩形的左上角坐標為正數,則在目標 Raster 中的該位置繪製過濾後的圖像。

指定者:
介面 RasterOp 中的 filter
參數:
src - 要轉換的 Raster
dst - 要在其中存儲轉換結果的 Raster
返回:
轉換後的 Raster
拋出:
ImagingOpException - 如果由於無效的圖像格式、tile 格式、圖像處理操作或任何其他不受支持的操作引起的資料處理錯誤,導致該 raster 無法轉換。

getBounds2D

public final Rectangle2D getBounds2D(BufferedImage src)
返回轉換後的目標圖像的邊界框。返回的矩形是轉換後的點的實際邊界框。返回矩形的左上角坐標不一定是 (0, 0)。

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

getBounds2D

public final Rectangle2D getBounds2D(Raster src)
返回轉換後的目標圖像的邊界框。返回的矩形將是轉換後的點的實際邊界框。返回矩形的左上角坐標不一定是 (0, 0)。

指定者:
介面 RasterOp 中的 getBounds2D
參數:
src - 要轉換的 Raster
返回:
表示目標圖像邊界框的 Rectangle2D

createCompatibleDestImage

public BufferedImage createCompatibleDestImage(BufferedImage src,
                                               ColorModel destCM)
創建一個具有正確大小和 band 數的經過檢查的目標圖像。如果轉換後的寬度和高度等於 0,則可能拋出 RasterFormatException

如果 destCM 為 null,則使用合適的 ColorModel;即使源 ColorModel 是不透明的,此 ColorModel 也可能具有一個 alpha 通道。

指定者:
介面 BufferedImageOp 中的 createCompatibleDestImage
參數:
src - 要轉換的 BufferedImage
destCM - 目標 ColorModel。如果它為 null,則使用一個合適的 ColorModel
返回:
經過檢查的目標圖像。

createCompatibleDestRaster

public WritableRaster createCompatibleDestRaster(Raster src)
創建一個具有正確大小和 band 數的經過檢查的目標 Raster。如果轉換後的寬度和高度等於 0,則可能拋出 RasterFormatException

指定者:
介面 RasterOp 中的 createCompatibleDestRaster
參數:
src - 要轉換的 Raster
返回:
經過檢查的目標 Raster

getPoint2D

public final Point2D getPoint2D(Point2D srcPt,
                                Point2D dstPt)
返回與源圖像中給定點對應的目標點的位置。如果指定了 dstPt,則使用它來保存返回值。

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

getTransform

public final AffineTransform getTransform()
返回此轉換操作使用的仿射轉換。

返回:
與此操作關聯的 AffineTransform

getRenderingHints

public final RenderingHints getRenderingHints()
返回此轉換操作使用的呈現提示。

指定者:
介面 BufferedImageOp 中的 getRenderingHints
指定者:
介面 RasterOp 中的 getRenderingHints
返回:
與此操作關聯的 RenderingHints 物件。

JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

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