public interface IIOReadUpdateListener
供 ImageReader
实现用于通知其图像和缩略图的调用者相关像素更新的接口。
ImageReader.addIIOReadUpdateListener(javax.imageio.event.IIOReadUpdateListener)
,
ImageReader.removeIIOReadUpdateListener(javax.imageio.event.IIOReadUpdateListener)
方法摘要 | |
---|---|
void |
imageUpdate(ImageReader source, BufferedImage theImage, int minX, int minY, int width, int height, int periodX, int periodY, int[] bands) 报告已更新图像的给定区域。 |
void |
passComplete(ImageReader source, BufferedImage theImage) 报告当前读操作已经完成一个逐步传递。 |
void |
passStarted(ImageReader source, BufferedImage theImage, int pass, int minPass, int maxPass, int minX, int minY, int periodX, int periodY, int[] bands) 报告当前的读操作将开始逐步传递 (progressive pass)。 |
void |
thumbnailPassComplete(ImageReader source, BufferedImage theThumbnail) 报告当前缩略图读操作已经完成一个逐步传递。 |
void |
thumbnailPassStarted(ImageReader source, BufferedImage theThumbnail, int pass, int minPass, int maxPass, int minX, int minY, int periodX, int periodY, int[] bands) 报告当前的缩略图读操作将开始逐步传递。 |
void |
thumbnailUpdate(ImageReader source, BufferedImage theThumbnail, int minX, int minY, int width, int height, int periodX, int periodY, int[] bands) 报告已更新缩略图图像的给定区域。 |
方法详细信息 |
---|
void passStarted(ImageReader source, BufferedImage theImage, int pass, int minPass, int maxPass, int minX, int minY, int periodX, int periodY, int[] bands)
minX
、minY
、width
和 height
参数指示对将通过传递更新的区域的估计。如果传递交错进行,即仅更新所选行或列,则 periodX
和 periodY
参数将指示二次抽样的进行程度。bands
的值指示可能受影响的 band 集合。
source
- 调用此方法的
ImageReader
对象。
theImage
- 将被更新的
BufferedImage
。
pass
- 将要开始的传递的编号(从 0 开始)。
minPass
- 将要解码的第一个传递的索引。
maxPass
- 将要解码的最后一个传递的索引。
minX
- 最左边的更新像素列的 X 坐标。
minY
- 最上边的更新像素行的 Y 坐标。
periodX
- 更新像素之间的水平间隔;值 1 表示没有间距。
periodY
- 更新像素之间的垂直间隔;值 1 表示没有间距。
bands
- 指示可能更新的 band 集合的
int
数组。
void imageUpdate(ImageReader source, BufferedImage theImage, int minX, int minY, int width, int height, int periodX, int periodY, int[] bands)
注意,不同的图像格式 reader 可能产生以多种不同顺序排列的解码像素。多数 reader 将生成以简单的从上到下、从左到右顺序排列的像素,而另一此则可能使用交错、平铺等多种传递。例如,调用时更新顺序甚至会由于网络速度的不同而相同。调用此方法并不能保证所有指定的像素都已经实际被更新,只保证在指定像素的某个子区域发生了更新。
特定的 ImageReader
实现可以选择提供更新的频率。每次更新都指定自上次更新以来已经更新了图像的给定区域。区域由其空间边界框(minX
、minY
、width
和 height
)、X 和 Y 子二次抽样因子(periodX
和 periodY
)以及更新的 band 集合(bands
)来描述。例如,更新:
minX = 10 minY = 20 width = 3 height = 4 periodX = 2 periodY = 3 bands = { 1, 3 }指示以下像素的 band 1 和 band 3 已更新:
(10, 20) (12, 20) (14, 20) (10, 23) (12, 23) (14, 23) (10, 26) (12, 26) (14, 26) (10, 29) (12, 29) (14, 29)
source
- 调用此方法的
ImageReader
对象。
theImage
- 将被更新的
BufferedImage
。
minX
- 最左边的更新像素列的 X 坐标。
minY
- 最上边的更新像素行的 Y 坐标。
width
- 水平更新的像素数。
height
- 垂直更新的像素数。
periodX
- 更新像素之间的水平间隔;值 1 表示没有间距。
periodY
- 更新像素之间的垂直间隔;值 1 表示没有间距。
bands
- 指示要更新的 band 的
int
数组。
void passComplete(ImageReader source, BufferedImage theImage)
source
- 调用此方法的
ImageReader
对象。
theImage
- 将被更新的
BufferedImage
。
ImageReadParam.setSourceProgressivePasses(int, int)
void thumbnailPassStarted(ImageReader source, BufferedImage theThumbnail, int pass, int minPass, int maxPass, int minX, int minY, int periodX, int periodY, int[] bands)
source
- 调用此方法的
ImageReader
对象。
theThumbnail
- 将被更新的
BufferedImage
缩略图。
pass
- 将要开始的传递的编号(从 0 开始)。
minPass
- 将要解码的第一个传递的索引。
maxPass
- 将要解码的最后一个传递的索引。
minX
- 最左边的更新像素列的 X 坐标。
minY
- 最上边的更新像素行的 Y 坐标。
periodX
- 更新像素之间的水平间隔;值 1 表示没有间距。
periodY
- 更新像素之间的垂直间隔;值 1 表示没有间距。
bands
- 指示可能更新的 band 集合的
int
数组。
passStarted(javax.imageio.ImageReader, java.awt.image.BufferedImage, int, int, int, int, int, int, int, int[])
void thumbnailUpdate(ImageReader source, BufferedImage theThumbnail, int minX, int minY, int width, int height, int periodX, int periodY, int[] bands)
source
- 调用此方法的
ImageReader
对象。
theThumbnail
- 将被更新的
BufferedImage
缩略图。
minX
- 最左边的更新像素列的 X 坐标。
minY
- 最上边的更新像素行的 Y 坐标。
width
- 水平更新的像素数。
height
- 垂直更新的像素数。
periodX
- 更新像素之间的水平间隔;值 1 表示没有间距。
periodY
- 更新像素之间的垂直间隔;值 1 表示没有间距。
bands
- 指示要更新的 band 的
int
数组。
imageUpdate(javax.imageio.ImageReader, java.awt.image.BufferedImage, int, int, int, int, int, int, int[])
void thumbnailPassComplete(ImageReader source, BufferedImage theThumbnail)
source
- 调用此方法的
ImageReader
对象。
theThumbnail
- 将被更新的
BufferedImage
缩略图。
passComplete(javax.imageio.ImageReader, java.awt.image.BufferedImage)