|
|||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
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 来减少其通知;如果观察器没有通知,则该操作是无操作(no-op)。
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
。