-
- All Superinterfaces:
-
RenderedImage
- 所有已知实现类:
-
BufferedImage
public interface WritableRenderedImage extends RenderedImage
WritableRenderedImage是包含或可以以Rasters形式生成图像数据的对象的通用接口,可以对其进行修改和/或写入。 图像数据可以作为单个图块或常规图块阵列存储/产生。当检出磁贴用于写入时(通过getWritableTile方法)以及特定磁贴的最后一个写入器放弃其访问权限(通过调用releaseWritableTile)时,WritableRenderedImage向其他感兴趣的对象提供通知。 此外,它允许任何调用者确定当前是否已检出任何切片(通过hasTileWriters),并获取此类切片的列表(通过getWritableTileIndices,以Vector对象的Vector形式)。
希望通知tile可写性变化的对象必须实现TileObserver接口,并通过调用addTileObserver添加。 对同一对象多次调用addTileObserver将导致多个通知。 现有观察者可以通过调用removeTileObserver来减少其通知; 如果观察者没有通知,那么该操作就是无操作。
WritableRenderedImage必须确保仅在第一个writer获取tile并且最后一个writer释放它时才发生通知。
-
-
方法摘要
所有方法 实例方法 抽象方法 变量和类型 方法 描述 void
addTileObserver(TileObserver to)
添加一个观察者。WritableRaster
getWritableTile(int tileX, int tileY)
检查一块瓷砖进行书写。Point[]
getWritableTileIndices()
返回Point对象的数组,指示要检出哪些切片以进行写入。boolean
hasTileWriters()
返回是否签出任何图块以进行写入。boolean
isTileWritable(int tileX, int tileY)
返回当前是否已检出磁贴以进行写入。void
releaseWritableTile(int tileX, int tileY)
放弃写入图块的权利。void
removeTileObserver(TileObserver to)
删除观察者。void
setData(Raster r)
将图像的rect设置为Raster r的内容,假定Raster 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)
检查一块瓷砖进行书写。 当一个磁贴从没有编写器变为拥有一个编写器时,WritableRenderedImage负责通知所有TileObservers。- 参数
-
tileX
-tileX
的X索引。 -
tileY
-tileY
的Y索引。 - 结果
- 可写瓷砖。
-
releaseWritableTile
void releaseWritableTile(int tileX, int tileY)
放弃写入图块的权利。 如果调用者继续写入磁贴,则结果未定义。 对此方法的调用应仅出现在对getWritableTile调用的匹配对中; 任何其他用途都会导致不确定的结果。 当一个磁贴从一个编写器变为没有编写器时,WritableRenderedImage负责通知其所有TileObservers。- 参数
-
tileX
-tileX
的X索引。 -
tileY
-tileY
的Y索引。
-
isTileWritable
boolean isTileWritable(int tileX, int tileY)
返回当前是否已检出磁贴以进行写入。- 参数
-
tileX
-tileX
的X索引。 -
tileY
-tileY
的Y索引。 - 结果
-
true
如果指定的图块已签出以供写入; 否则为false
。
-
getWritableTileIndices
Point[] getWritableTileIndices()
返回Point对象的数组,指示要检出哪些切片以进行写入。 如果没有签出,则返回null。- 结果
- 一个数组,包含要检出以进行写入的切片位置。
-
hasTileWriters
boolean hasTileWriters()
返回是否签出任何图块以进行写入。 在语义上等价于(getWritableTileIndices()!= null)。- 结果
-
true
如果有任何瓷砖签出以供写入; 否则为false
。
-
setData
void setData(Raster r)
将图像的rect设置为Raster r的内容,假定Raster r与WritableRenderedImage位于同一坐标空间中。 该操作被剪切到WritableRenderedImage的边界。- 参数
-
r
- 指定的Raster
-
-