javax.imageio.event

接口
所有超级接口:
EventListener

public interface IIOReadUpdateListener
     
extends EventListener

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)
          报告已更新缩略图图像的给定区域。
 

方法详细信息

passStarted

void passStarted(ImageReader source,
                 BufferedImage theImage,
                 int pass,
                 int minPass,
                 int maxPass,
                 int minX,
                 int minY,
                 int periodX,
                 int periodY,
                 int[] bands)
报告当前的读操作将开始逐步传递 (progressive pass)。读取支持逐步编码的图像时,支持逐步编码的格式 Reader 应该在完成每个传递时使用此方法通知客户端。

minXminYwidthheight 参数指示对将通过传递更新的区域的估计。如果传递交错进行,即仅更新所选行或列,则 periodXperiodY 参数将指示二次抽样的进行程度。bands 的值指示可能受影响的 band 集合。

参数:
source - 调用此方法的 ImageReader 对象。
theImage - 将被更新的 BufferedImage
pass - 将要开始的传递的编号(从 0 开始)。
minPass - 将要解码的第一个传递的索引。
maxPass - 将要解码的最后一个传递的索引。
minX - 最左边的更新像素列的 X 坐标。
minY - 最上边的更新像素行的 Y 坐标。
periodX - 更新像素之间的水平间隔;值 1 表示没有间距。
periodY - 更新像素之间的垂直间隔;值 1 表示没有间距。
bands - 指示可能更新的 band 集合的 int 数组。

imageUpdate

void imageUpdate(ImageReader source,
                 BufferedImage theImage,
                 int minX,
                 int minY,
                 int width,
                 int height,
                 int periodX,
                 int periodY,
                 int[] bands)
报告已更新图像的给定区域。应用程序可能选择重新显示指定区域,例如,为了提供逐步显示效果或执行其他增量处理。

注意,不同的图像格式 reader 可能产生以多种不同顺序排列的解码像素。多数 reader 将生成以简单的从上到下、从左到右顺序排列的像素,而另一此则可能使用交错、平铺等多种传递。例如,调用时更新顺序甚至会由于网络速度的不同而相同。调用此方法并不能保证所有指定的像素都已经实际被更新,只保证在指定像素的某个子区域发生了更新。

特定的 ImageReader 实现可以选择提供更新的频率。每次更新都指定自上次更新以来已经更新了图像的给定区域。区域由其空间边界框(minXminYwidthheight)、X 和 Y 子二次抽样因子(periodXperiodY)以及更新的 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 数组。

passComplete

void passComplete(ImageReader source,
                  BufferedImage theImage)
报告当前读操作已经完成一个逐步传递。读取逐步编码的图像时,支持逐步编码格式的 Reader 应该在完成每个传递时使用此方法通知客户端。

参数:
source - 调用此方法的 ImageReader 对象。
theImage - 将被更新的 BufferedImage
另请参见:
ImageReadParam.setSourceProgressivePasses(int, int)

thumbnailPassStarted

void thumbnailPassStarted(ImageReader source,
                          BufferedImage theThumbnail,
                          int pass,
                          int minPass,
                          int maxPass,
                          int minX,
                          int minY,
                          int periodX,
                          int periodY,
                          int[] bands)
报告当前的缩略图读操作将开始逐步传递。读取逐步编码的缩略图像时,支持逐步编码格式的 Reader 应该在完成每个传递时使用此方法通知客户端。

参数:
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[])

thumbnailUpdate

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[])

thumbnailPassComplete

void thumbnailPassComplete(ImageReader source,
                           BufferedImage theThumbnail)
报告当前缩略图读操作已经完成一个逐步传递。读取逐步编码的缩略图像时,具有支持逐步编码格式的 Reader 应该在完成每个传递时使用此方法通知客户端。

参数:
source - 调用此方法的 ImageReader 对象。
theThumbnail - 将被更新的 BufferedImage 缩略图。
另请参见:
passComplete(javax.imageio.ImageReader, java.awt.image.BufferedImage)