使用所提供的 imagereadparam
读取通过索引 imageindex
指定的图像,并返回包含图像、缩略图和相关图像元数据的 iioimage
。
由返回的 iioimage
实际引用的 bufferedimage
将使用 getdestination
方法定义的算法来选择。
所有已注册的 iioreadprogresslistener
对象将通过以下方式获得通知:首先调用其 imagestarted
方法,然后在读取过程中调用其 imageprogress
方法。最后,将调用其 imagecomplete
方法。解码像素时,iioreadupdatelistener
对象可以在读取期间的其他时间更新。最后,iioreadwarninglistener
对象将接收解码期间发生的所有非致命警告。
要读取的源 band 和要写入的目标 band 的集合通过在所提供的 imagereadparam
上调用 getsourcebands
和 getdestinationbands
确定。如果这些方法返回的数组的长度不同、源 band 集合包含一个比最大可用源索引更大的索引,或者目标 band 集合包含一个比最大的合法目标索引更大的索引,则抛出 illegalargumentexception
。
无论怎样设置区域,缩略图都将以其完整形式返回。
如果所提供的 imagereadparam
包含不受此 reader 支持的可选设置值(例如 源呈现大小或任何特定于格式的设置),则将忽略这些设置。
- 参数:
imageindex
- 将被获取的图像的索引。param
- 用来控制读取过程的 imagereadparam
,或者为 null
。
- 返回:
- 一个
iioimage
,包含所需图像部分、一个缩略图集合和关联的图像元数据。
- 抛出:
illegalstateexception
- 如果尚未设置输入源。
indexoutofboundsexception
- 如果所提供的索引超出范围。
illegalargumentexception
- 如果由 param.getsourcebands
和 param.getdestinationbands
指定的源 band 和目标 band 的集合在长度上不同,或者包含超出范围的索引。
illegalargumentexception
- 如果所得图像的宽度或高度小于 1。
ioexception
- 如果读取期间发生错误。