JavaTM 2 Platform
Standard Ed. 6

java.awt.image
類別 ColorConvertOp

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

public class ColorConvertOp
extends Object
implements BufferedImageOp, RasterOp

此類別對源圖像中的資料執行逐像素的顏色轉換。得到的顏色值可以擴展到目標圖像的精度。顏色轉換可以通過 ColorSpace 物件的陣列或 ICC_Profile 物件的陣列指定。

如果源是預乘了 alpha 的 BufferedImage,則在顏色轉換前要將顏色份量除以 alpha 份量。如果目標是預乘了 alpha 的 BufferedImage,則要在顏色轉換後將顏色份量乘以 alpha 份量。Raster 被認為是沒有 alpha 通道的,也即所有 band 都是顏色 band。

如果 RenderingHints 物件是在建構子中指定的,則可以使用顏色呈現提示和抖動提示來控制顏色轉換。

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

另請參見:
RenderingHints.KEY_COLOR_RENDERING, RenderingHints.KEY_DITHERING

建構子摘要
ColorConvertOp(ColorSpace srcCspace, ColorSpace dstCspace, RenderingHints hints)
          根據兩個 ColorSpace 物件建構新的 ColorConvertOp。
ColorConvertOp(ColorSpace cspace, RenderingHints hints)
          根據 ColorSpace 物件建構新的 ColorConvertOp。
ColorConvertOp(ICC_Profile[] profiles, RenderingHints hints)
          根據 ICC_Profiles 的陣列建構新的 ColorConvertOp。
ColorConvertOp(RenderingHints hints)
          建構從源顏色空間到目標顏色空間轉換的新 ColorConvertOp。
 
方法摘要
 BufferedImage createCompatibleDestImage(BufferedImage src, ColorModel destCM)
          創建給定源的具有正確大小和 band 數量的歸零目標圖像。
 WritableRaster createCompatibleDestRaster(Raster src)
          創建給定源且具有正確 band 大小和數量的歸零目標 Raster。
 BufferedImage filter(BufferedImage src, BufferedImage dest)
          對源 BufferedImage 進行顏色轉換。
 WritableRaster filter(Raster src, WritableRaster dest)
          對源 Raster 中的圖像資料進行顏色轉換。
 Rectangle2D getBounds2D(BufferedImage src)
          返回給定源的目標邊界框。
 Rectangle2D getBounds2D(Raster src)
          返回給定源的目標邊界框。
 ICC_Profile[] getICC_Profiles()
          返回用於建構此 ColorConvertOp 的 ICC_Profiles 的陣列。
 Point2D getPoint2D(Point2D srcPt, Point2D dstPt)
          返回源中給定點的目標點的位置。
 RenderingHints getRenderingHints()
          此操作使用的呈現提示。
 
從類別 java.lang.Object 繼承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

建構子詳細資訊

ColorConvertOp

public ColorConvertOp(RenderingHints hints)
建構從源顏色空間到目標顏色空間轉換的新 ColorConvertOp。RenderingHints 參數可以為 null。此操作只能與 BufferedImage 一起使用,並將直接從源圖像的 ColorSpace 轉換為目標圖像的 ColorSpace。過濾器方法的目標參數不能指定為 null。

參數:
hints - 用來控制顏色轉換的 RenderingHints 物件,或 null

ColorConvertOp

public ColorConvertOp(ColorSpace cspace,
                      RenderingHints hints)
根據 ColorSpace 物件建構新的 ColorConvertOp。RenderingHints 參數可以為 null。此操作只能與 BufferedImages 一起使用,並且在目標參數為 null 的情況下調用 filter 方法時特別有用。在這種情況下,ColorSpace 定義由過濾器方法創建的目標的目標顏色空間。否則,ColorSpace 將定義一個中間空間,源轉換為目標空間之前要先轉換為這個中間空間。

參數:
cspace - 定義目標 ColorSpace 或中間 ColorSpace
hints - 用來控制顏色轉換的 RenderingHints 物件,或 null
拋出:
NullPointerException - 如果 cspace 為 null

ColorConvertOp

public ColorConvertOp(ColorSpace srcCspace,
                      ColorSpace dstCspace,
                      RenderingHints hints)
根據兩個 ColorSpace 物件建構新的 ColorConvertOp。RenderingHints 參數可以為 null。此操作在調用 Raster 的過濾方法時特別有用,在這種情況下,這兩個 ColorSpace 將定義對 Raster 執行的操作。在這種情況下,源 Raster 中的 band 數量必須與 srcCspace 中份量的數量比對,並且目標 Raster 中的 band 數量必須與 dstCspace 中份量的數量比對。對於 BufferedImages,這兩個 ColorSpace 將定義一個中間空間,源在轉換為目標空間之前要先轉換為中間空間。

參數:
srcCspace - 源 ColorSpace
dstCspace - 目標 ColorSpace
hints - 用於控制顏色轉換的 RenderingHints 物件,或 null
拋出:
NullPointerException - 如果 srcCspace 或 dstCspace 為 null

ColorConvertOp

public ColorConvertOp(ICC_Profile[] profiles,
                      RenderingHints hints)
根據 ICC_Profiles 的陣列建構新的 ColorConvertOp。RenderingHints 參數可以為 null。配置檔案序列可以包括表示顏色空間的配置檔案、表示效果的配置檔案等。如果整個序列不表示定義良好的顏色轉換,則拋出異常。

對於 BufferedImages,如果源 BufferedImage 的 ColorSpace 與陣列中的第一個配置檔案的要求不比對,則首次轉換要轉換到適當的 ColorSpace。如果目標 BufferedImage 的 ColorSpace 不能滿足陣列中的最後一個配置檔案的要求,則最後一次轉換要轉換到目標的 ColorSpace。

對於 Raster,源 Raster 中的 band 數量必須與陣列中第一個配置檔案的要求比對,並且目標 Raster 中的 band 數量必須與陣列中最後一個配置檔案的要求比對。該陣列至少有兩個元素,否則調用 Raster 的過濾方法將拋出 IllegalArgumentException。

參數:
profiles - ICC_Profile 物件的陣列
hints - 用於控制顏色轉換的 RenderingHints 物件,或 null
拋出:
IllegalArgumentException - 在配置檔案序列未指定定義良好的顏色轉換時
NullPointerException - 如果配置檔案為 null
方法詳細資訊

getICC_Profiles

public final ICC_Profile[] getICC_Profiles()
返回用於建構此 ColorConvertOp 的 ICC_Profiles 的陣列。如果 ColorConvertOp 不是通過此類別陣列建構的,則返回 null。

返回:
ColorConvertOpICC_Profile 物件的陣列,或 null 如果此 ColorConvertOp 不是通過 ICC_Profile 物件建構的。

filter

public final BufferedImage filter(BufferedImage src,
                                  BufferedImage dest)
對源 BufferedImage 進行顏色轉換。如果目標圖像為 null,則根據適當的 ColorModel 創建 BufferedImage。

指定者:
介面 BufferedImageOp 中的 filter
參數:
src - 要轉換的源 BufferedImage
dest - 目標 BufferedImage,或 null
返回:
通過 src 轉換的 dest 顏色,或已轉換的新 BufferedImage(如果 destnull
拋出:
IllegalArgumentException - 如果 dest 為 null,並且此操作是使用因操作定義得不好而只採用 RenderingHints 參數的建構子建構的。

filter

public final WritableRaster filter(Raster src,
                                   WritableRaster dest)
對源 Raster 中的圖像資料進行顏色轉換。如果目標 Raster 為 null,則創建新 Raster。源和目標 Raster 中的 band 數量必須滿足上述要求。用於創建此 ColorConvertOp 的建構子必須提供足夠的可用來定義源和目標顏色空間的資訊。請參閱上文。否則,將拋出異常。

指定者:
介面 RasterOp 中的 filter
參數:
src - 要轉換的源 Raster
dest - 目標 WritableRaster,或 null
返回:
通過 src 轉換的 dest 顏色,或已轉換的新 WritableRaster(如果 destnull
拋出:
IllegalArgumentException - 如果源或目標 band 數量不正確,或未定義源或目標顏色空間,或此操作是通過只應用於 BufferedImages 上的操作的建構子之一建構的。

getBounds2D

public final Rectangle2D getBounds2D(BufferedImage src)
返回給定源的目標邊界框。注意,此框與源的邊界框相同。

指定者:
介面 BufferedImageOp 中的 getBounds2D
參數:
src - 源 BufferedImage
返回:
在指定 src 的情況下返回目標邊界框 Rectangle2D

getBounds2D

public final Rectangle2D getBounds2D(Raster src)
返回給定源的目標邊界框。注意,此框與源的邊界框相同。

指定者:
介面 RasterOp 中的 getBounds2D
參數:
src - 源 Raster
返回:
在指定 src 的情況下返回目標邊界框 Rectangle2D

createCompatibleDestImage

public BufferedImage createCompatibleDestImage(BufferedImage src,
                                               ColorModel destCM)
創建給定源的具有正確大小和 band 數量的歸零目標圖像。

指定者:
介面 BufferedImageOp 中的 createCompatibleDestImage
參數:
src - 進行過濾操作的源圖像。
destCM - 該目標的 ColorModel。如果為 null,則使用適當的 ColorModel。
返回:
指定 src 中具有正確 band 大小和數量的 BufferedImage
拋出:
IllegalArgumentException - 如果 destCMnull,並且此 ColorConvertOp 不是通過針對目標定義的任何 ICC_ProfileColorSpace 創建的

createCompatibleDestRaster

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

指定者:
介面 RasterOp 中的 createCompatibleDestRaster
參數:
src - 指定 Raster
返回:
指定 src 中具有正確 band 大小和數量的 WritableRaster
拋出:
IllegalArgumentException - 如果此 ColorConvertOp 不是根據足以定義 dstsrc 顏色空間的資訊創建的

getPoint2D

public final Point2D getPoint2D(Point2D srcPt,
                                Point2D dstPt)
返回源中給定點的目標點的位置。如果 dstPt 為非 null,則使用它存儲返回值。注意,對於此類別,目標點將與源點相同。

指定者:
介面 BufferedImageOp 中的 getPoint2D
指定者:
介面 RasterOp 中的 getPoint2D
參數:
srcPt - 指定源 Point2D
dstPt - 目標 Point2D
返回:
將其位置設置為與 srcPt 相同之後返回 dstPt

getRenderingHints

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

指定者:
介面 BufferedImageOp 中的 getRenderingHints
指定者:
介面 RasterOp 中的 getRenderingHints
返回:
ColorConvertOpRenderingHints 物件

JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

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