JavaTM 2 Platform
Standard Ed. 6

java.awt.image
介面 WritableRenderedImage

所有父級介面:
RenderedImage
所有已知實作類別:
BufferedImage

public interface WritableRenderedImage
extends RenderedImage

WriteableRenderedImage 公共介面用於那些包含或者能夠產生 Rasters 形式圖像資料的物件,以及能夠被修改和/或寫入的物件。圖像資料可以作為單個 tile 或 tile 規則陣列被存儲/產生。

當為寫入簽出了一個 tile(通過 getWritableTile 方法),以及一個特定 tile 最後的 writer 放棄其存取(通過調用 releaseWritableTile)時,WritableRenderedImage 通知其他感興趣的物件。此外,它允許任何調用者確定當前是否簽出了任何 tile(通過 hasTileWriters),並允許獲得這種 tile 的列表(通過 getWritableTileIndices,以 Point 物件的 Vector 形式表示)。

希望 tile 可寫入性更改時被通知的物件必須實作 TileObserver 介面,並通過調用 addTileObserver 添加。對同一個物件多次調用 addTileObserver 將產生多個通知。現有的觀察器可以通過調用 removeTileObserver 來減少其通知;如果觀察器沒有通知,則該操作是無操作。

WritableRenderedImage 必須確保僅在第一個 writer 獲得 tile 和最後一個 writer 釋放它時發出通知。


方法摘要
 void addTileObserver(TileObserver to)
          添加一個觀察器。
 WritableRaster getWritableTile(int tileX, int tileY)
          為寫入簽出一個 tile。
 Point[] getWritableTileIndices()
          返回 Point 物件的陣列,它指示為寫入簽出了哪些 tile。
 boolean hasTileWriters()
          返回是否有為寫入而簽出的 tile。
 boolean isTileWritable(int tileX, int tileY)
          返回當前是否正在為寫入簽出 tile。
 void releaseWritableTile(int tileX, int tileY)
          放棄寫入一個 tile 的權力。
 void removeTileObserver(TileObserver to)
          移除一個觀察器。
 void setData(Raster r)
          將圖像的 rect 設置為 Raster r 的內容,假定 r 位於與 WritableRenderedImage 相同的坐標空間。
 
從介面 java.awt.image.RenderedImage 繼承的方法
copyData, getColorModel, getData, getData, getHeight, getMinTileX, getMinTileY, getMinX, getMinY, getNumXTiles, getNumYTiles, getProperty, getPropertyNames, getSampleModel, getSources, getTile, getTileGridXOffset, getTileGridYOffset, getTileHeight, getTileWidth, getWidth
 

方法詳細資訊

addTileObserver

void addTileObserver(TileObserver to)
添加一個觀察器。如果觀察器已經存在,則它將接受多個通知。

參數:
to - 指定的 TileObserver

removeTileObserver

void removeTileObserver(TileObserver to)
移除一個觀察器。如果觀察器沒有註冊,則不發生任何操作。如果觀察器為多個通知註冊,則現在其註冊的通知數將減少一個。

參數:
to - 指定的 TileObserver

getWritableTile

WritableRaster getWritableTile(int tileX,
                               int tileY)
為寫入簽出一個 tile。當一個 tile 從沒有 writer 變為有一個 writer 時,WritableRenderedImage 負責通知其所有的 TileObserver。

參數:
tileX - tile 的 X 索引。
tileY - tile 的 Y 索引。
返回:
一個可寫入的 tile。

releaseWritableTile

void releaseWritableTile(int tileX,
                         int tileY)
放棄寫入一個 tile 的權力。如果調用者繼續寫入 tile,則結果是不確定的。此方法的調用應該與 getWritableTile 的調用成對出現;任何其他用法將導致不確定的結果。當一個 tile 從有一個 writer 變為沒有 writer 時,WritableRenderedImage 負責通知其所有的 TileObserver。

參數:
tileX - tile 的 X 索引。
tileY - tile 的 Y 索引。

isTileWritable

boolean isTileWritable(int tileX,
                       int tileY)
返回當前是否正在為寫入簽出 tile。

參數:
tileX - tile 的 X 索引。
tileY - tile 的 Y 索引。
返回:
如果為寫入簽出了指定的 tile ,則返回 true;否則返回 false

getWritableTileIndices

Point[] getWritableTileIndices()
返回 Point 物件的陣列,它指示為寫入簽出了哪些 tile。如果沒有簽出任何 tile,則返回 null。

返回:
包含為寫入而簽出的 tile 的位置陣列。

hasTileWriters

boolean hasTileWriters()
返回是否有為寫入而簽出的 tile。在語義上等價於 (getWritableTileIndices() != null)。

返回:
如果有為寫入而簽出的 tile,則返回 true;否則返回 false

setData

void setData(Raster r)
將圖像的 rect 設置為 Raster r 的內容,假定 r 位於與 WritableRenderedImage 相同的坐標空間。操作被限制在 WritableRenderedImage 的邊界內。

參數:
r - 指定的 Raster

JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

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