JavaTM 2 Platform
Standard Ed. 6

java.awt.image
介面 ImageConsumer

所有已知實作類別:
AreaAveragingScaleFilter, BufferedImageFilter, CropImageFilter, GrayFilter, ImageFilter, PixelGrabber, ReplicateScaleFilter, RGBImageFilter

public interface ImageConsumer

對通過 ImageProducer 介面的圖像資料感興趣的物件介面。將一個使用者添加到圖像生產者時,生產者會使用此介面中定義的方法調用傳遞所有關於圖像的資料。

另請參見:
ImageProducer

欄位摘要
static int COMPLETESCANLINES
          按照一次(多個)完整掃瞄行的方式傳遞像素。
static int IMAGEABORTED
          圖像創建進程被故意中止。
static int IMAGEERROR
          產生圖像時遇到錯誤。
static int RANDOMPIXELORDER
          按隨機順序傳遞像素。
static int SINGLEFRAME
          該圖像包含單幅靜態圖像。
static int SINGLEFRAMEDONE
          圖像的某一幀已完成,但還有更多的幀要傳遞。
static int SINGLEPASS
          以單通道的方式傳遞像素。
static int STATICIMAGEDONE
          圖像已完成,不再有像素或幀要傳遞。
static int TOPDOWNLEFTRIGHT
          按從上到下、從左到右的順序傳遞像素。
 
方法摘要
 void imageComplete(int status)
          當 ImageProducer 已完成源圖像所含所有像素的傳遞時,或者已完成多幀動畫的單個幀時,或者載入或產生圖像中出現錯誤時,就調用 imageComplete 方法。
 void setColorModel(ColorModel model)
          設置用於大多數像素的 ColorModel 物件,這些像素使用 setPixels 方法調用進行報告。
 void setDimensions(int width, int height)
          使用 setDimensions 方法調用報告源圖像尺寸。
 void setHints(int hintflags)
          設置 ImageConsumer 用於處理 ImageProducer 所傳遞像素的提示。
 void setPixels(int x, int y, int w, int h, ColorModel model, byte[] pixels, int off, int scansize)
          一次或多次調用此方法來傳遞圖像的像素。
 void setPixels(int x, int y, int w, int h, ColorModel model, int[] pixels, int off, int scansize)
          一次或多次調用 setPixels 方法來傳遞圖像的像素。
 void setProperties(Hashtable<?,?> props)
          設置與此圖像關聯的可擴展屬性列表。
 

欄位詳細資訊

RANDOMPIXELORDER

static final int RANDOMPIXELORDER
按隨機順序傳遞像素。該欄位告知 ImageConsumer 不要使用任何依賴於像素傳遞順序的優化方法,在沒有任何對 setHints 方法的調用時這應是預設的假定情況。

另請參見:
setHints(int), 常數欄位值

TOPDOWNLEFTRIGHT

static final int TOPDOWNLEFTRIGHT
按從上到下、從左到右的順序傳遞像素。

另請參見:
setHints(int), 常數欄位值

COMPLETESCANLINES

static final int COMPLETESCANLINES
按照一次(多個)完整掃瞄行的方式傳遞像素。

另請參見:
setHints(int), 常數欄位值

SINGLEPASS

static final int SINGLEPASS
以單通道的方式傳遞像素。每個像素只出現在某一個對 setPixels 方法的調用中。不符合此標準的一種圖像格式是漸變 JPEG 圖像,該圖像以多通道的方式定義像素,每個通道都比前一個通道更為精確。

另請參見:
setHints(int), 常數欄位值

SINGLEFRAME

static final int SINGLEFRAME
該圖像包含單幅靜態圖像。像素將在調用 setPixels 方法時定義,不再傳遞圖像資料之後,將調用帶有 STATICIMAGEDONE 標誌的 imageComplete 方法。不符合這些標準的一種圖像型別是視頻饋送輸出,或由使用者操作的 3D 呈現表示形式。通過調用帶有 SINGLEFRAMEDONE 標誌的 imageComplete 方法來指示這些圖像型別中每一幀的結束。

另請參見:
setHints(int), imageComplete(int), 常數欄位值

IMAGEERROR

static final int IMAGEERROR
產生圖像時遇到錯誤。

另請參見:
imageComplete(int), 常數欄位值

SINGLEFRAMEDONE

static final int SINGLEFRAMEDONE
圖像的某一幀已完成,但還有更多的幀要傳遞。

另請參見:
imageComplete(int), 常數欄位值

STATICIMAGEDONE

static final int STATICIMAGEDONE
圖像已完成,不再有像素或幀要傳遞。

另請參見:
imageComplete(int), 常數欄位值

IMAGEABORTED

static final int IMAGEABORTED
圖像創建進程被故意中止。

另請參見:
imageComplete(int), 常數欄位值
方法詳細資訊

setDimensions

void setDimensions(int width,
                   int height)
使用 setDimensions 方法調用報告源圖像尺寸。

參數:
width - 源圖像的寬度
height - 源圖像的高度

setProperties

void setProperties(Hashtable<?,?> props)
設置與此圖像關聯的可擴展屬性列表。

參數:
props - 要與此圖像關聯的屬性列表

setColorModel

void setColorModel(ColorModel model)
設置用於大多數像素的 ColorModel 物件,這些像素使用 setPixels 方法調用進行報告。注意,使用 setPixels 傳遞的每個像素集合都包含其自己的 ColorModel 物件,所以不應假設此模型是傳遞像素值時使用的惟一模型。可以看到多個 ColorModel 物件時,一種值得注意的情況是過濾圖像,對於它所過濾的每一個像素集合,過濾器確定是否可以使用原 ColorModel 不做改動地發送像素,或者是否應該使用對於過濾過程更方便的 ColorModel 修改(過濾)並傳遞像素。

參數:
model - 指定的 ColorModel
另請參見:
ColorModel

setHints

void setHints(int hintflags)
設置 ImageConsumer 用於處理 ImageProducer 所傳遞像素的提示。ImageProducer 能以任意順序傳遞像素,但是如果 ImageConsumer 預先知道某些有關像素傳遞方式的資訊,那麼它就能夠更高效或以更高的質量將像素縮放或轉換到目標 ColorModel。應該在調用帶提示位遮罩碼(其中包含有關像素傳遞方式的資訊)的任意 setPixels 方法前調用 setHints 方法。如果 ImageProducer 未遵從指定的提示準則,則結果是不明確的。

參數:
hintflags - ImageConsumer 用於處理像素的提示集合

setPixels

void setPixels(int x,
               int y,
               int w,
               int h,
               ColorModel model,
               byte[] pixels,
               int off,
               int scansize)
一次或多次調用此方法來傳遞圖像的像素。每次調用都指定像素陣列中所含源像素的矩形位置和大小。應該使用指定的 ColorModel 物件將像素轉換為相應的顏色和 alpha 份量。像素 (m,n) 存儲在像素陣列的索引 (n * scansize + m + off) 處。使用此方法所傳遞的像素都以 byte 型別存儲。

參數:
x - 要設置的像素區域左上角的 X 坐標
y - 要設置的像素區域左上角的 Y 坐標
w - 像素區域的寬度
h - 像素區域的高度
model - 指定的 ColorModel
pixels - 像素陣列
off - pixels 陣列中的偏移量
scansize - pixels 陣列中一行像素到下一行的距離
另請參見:
ColorModel

setPixels

void setPixels(int x,
               int y,
               int w,
               int h,
               ColorModel model,
               int[] pixels,
               int off,
               int scansize)
一次或多次調用 setPixels 方法來傳遞圖像的像素。每次調用都指定像素陣列中所含源像素的矩形位置和大小。應該使用指定的 ColorModel 物件將像素轉換為相應的顏色和 alpha 份量。像素 (m,n) 存儲在像素陣列的索引 (n * scansize + m + off) 處。使用此方法所傳遞的像素都以 int 形式存儲。此方法都以 int 形式存儲。

參數:
x - 要設置的像素區域左上角的 X 坐標
y - 要設置的像素區域左上角的 Y 坐標
w - 像素區域的寬度
h - 像素區域的高度
model - 指定的 ColorModel
pixels - 像素陣列
off - pixels 陣列中的偏移量
scansize - pixels 陣列中一行像素到下一行的距離
另請參見:
ColorModel

imageComplete

void imageComplete(int status)
當 ImageProducer 已完成源圖像所含所有像素的傳遞時,或者已完成多幀動畫的單個幀時,或者載入或產生圖像中出現錯誤時,就調用 imageComplete 方法。除非 ImageConsumer 還對後續的幀感興趣,否則此時應該從以 ImageProducer 註冊的使用者列表中將其自身移除。

參數:
status - 圖像載入的狀態
另請參見:
ImageProducer.removeConsumer(java.awt.image.ImageConsumer)

JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

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