public interface WritableRenderedImage
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 |
方法详细信息 |
---|
void addTileObserver(TileObserver to)
to
- 指定的
TileObserver
void removeTileObserver(TileObserver to)
to
- 指定的
TileObserver
WritableRaster getWritableTile(int tileX, int tileY)
tileX
- tile 的 X 索引。
tileY
- tile 的 Y 索引。
void releaseWritableTile(int tileX, int tileY)
tileX
- tile 的 X 索引。
tileY
- tile 的 Y 索引。
boolean isTileWritable(int tileX, int tileY)
tileX
- tile 的 X 索引。
tileY
- tile 的 Y 索引。
true
;否则返回
false
。
Point[] getWritableTileIndices()
boolean hasTileWriters()
true
;否则返回
false
。
void setData(Raster r)
r
- 指定的
Raster