Класс ImageReader
public abstract class ImageReader extends Object
ImageReader объекты обычно создаются классом поставщика сервиса (SPI) для конкретного формата. Классы поставщиков сервиса (например, экземпляры ImageReaderSpi) регистрируются в IIORegistry, который использует их для распознавания форматов и представления доступных читателей и писателей форматов.
При установке источника ввода (используя метод setInput), он может быть помечен как "только прямой поиск". Эта настройка означает, что изображения, содержащиеся в источнике ввода, будут читаться только в порядке следования, что потенциально позволяет читателю избегать кэширования частей ввода, содержащих данные, связанные с изображениями, которые уже были прочитаны.
- См. также:
Краткое описание полей
| Модификатор и тип | Поле | Описание |
|---|---|---|
protected Locale[] |
availableLocales |
Массив объектов Locale, которые могут использоваться для локализации сообщений об ошибках, или null, если локализация не поддерживается. |
protected boolean |
ignoreMetadata |
true, если текущий источник ввода был помечен как позволяющий игнорировать метаданные setInput. |
protected Object |
input |
ImageInputStream или другой Object, заданный setInput и полученный getInput. |
protected Locale |
locale |
Текущий Locale, используемый для локализации, или null, если не задан. |
protected int |
minIndex |
Наименьший допустимый индекс для чтения, по умолчанию 0. |
protected ImageReaderSpi |
originatingProvider |
ImageReaderSpi, который создал этот объект, или null, если его идентичность неизвестна или отсутствует. |
protected List |
progressListeners |
Список текущих зарегистрированных IIOReadProgressListener, инициализированный по умолчанию null, что эквивалентно пустому списку List. |
protected boolean |
seekForwardOnly |
true, если текущий источник ввода был помечен как допускающий только прямой поиск setInput. |
protected List |
updateListeners |
Список текущих зарегистрированных IIOReadUpdateListener, инициализированный по умолчанию null, что эквивалентно пустому списку List. |
protected List |
warningListeners |
Список текущих зарегистрированных IIOReadWarningListener, инициализированный по умолчанию null, что эквивалентно пустому списку List. |
protected List |
warningLocales |
Список Locale, связанных с каждым текущим зарегистрированным IIOReadWarningListener, инициализированный по умолчанию null, что эквивалентно пустому списку List. |
Краткое описание конструкторов
| Модификатор | Конструктор | Описание |
|---|---|---|
protected |
Создает ImageReader и устанавливает его поле originatingProvider в указанное значение. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
void |
abort() |
Запрашивает прерывание любой текущей операции чтения. |
protected boolean |
abortRequested() |
Возвращает true, если запрос на прерывание текущей операции чтения был сделан с момента создания экземпляра считывателя или вызова clearAbortRequest. |
void |
addIIOReadProgressListener |
Добавляет IIOReadProgressListener в список зарегистрированных прослушивателей прогресса. |
void |
addIIOReadUpdateListener |
Добавляет IIOReadUpdateListener в список зарегистрированных прослушивателей обновлений. |
void |
addIIOReadWarningListener |
Добавляет IIOReadWarningListener в список зарегистрированных прослушивателей предупреждений. |
boolean |
canReadRaster() |
Возвращает true, если этот плагин поддерживает чтение только Raster данных пикселей. |
protected static void |
checkReadParamBandSettings |
Вспомогательный метод, который может использоваться считывателями для проверки допустимости параметров исходной и целевой полосы ImageReadParam. |
protected void |
clearAbortRequest() |
Очищает любой предыдущий запрос на прерывание. |
protected static void |
computeRegions |
Вычисляет исходную область интереса и целевую область интереса, учитывая ширину и высоту исходного изображения, необязательное целевое изображение и необязательный ImageReadParam. |
void |
dispose() |
Позволяет освободить любые ресурсы, удерживаемые этим объектом. |
float |
getAspectRatio |
Возвращает соотношение сторон данного изображения (то есть его ширину, деленную на его высоту) как float. |
Locale[] |
getAvailableLocales() |
Возвращает массив Locale, которые могут использоваться для локализации прослушивателей предупреждений и параметров сжатия. |
ImageReadParam |
getDefaultReadParam() |
Возвращает объект ImageReadParam по умолчанию, подходящий для этого формата. |
protected static BufferedImage |
getDestination |
Возвращает BufferedImage, в который следует записывать декодированные данные пикселей. |
String |
getFormatName() |
Возвращает String, идентифицирующий формат входного источника. |
abstract int |
getHeight |
Возвращает высоту в пикселях данного изображения в пределах входного источника. |
abstract IIOMetadata |
getImageMetadata |
Возвращает объект IIOMetadata, содержащий метаданные, связанные с данным изображением, или null, если считыватель не поддерживает чтение метаданных, настроен на игнорирование метаданных или если метаданные недоступны. |
IIOMetadata |
getImageMetadata |
Возвращает объект IIOMetadata, представляющий метаданные, связанные с данным изображением, или null, если считыватель не поддерживает чтение метаданных или они недоступны. |
abstract Iterator |
getImageTypes |
Возвращает Iterator, содержащий возможные типы изображений, в которые может быть декодировано данное изображение, в виде ImageTypeSpecifiers. |
Object |
getInput() |
Возвращает ImageInputStream или другой Object, ранее установленный в качестве входного источника. |
Locale |
getLocale() |
Возвращает текущий установленный Locale или null, если ни один не был установлен. |
int |
getMinIndex() |
Возвращает наименьший допустимый индекс для чтения изображения, эскиза или метаданных изображения. |
abstract int |
getNumImages |
Возвращает количество изображений, не включая эскизы, доступных из текущего входного источника. |
int |
getNumThumbnails |
Возвращает количество эскизов, связанных с данным изображением. |
ImageReaderSpi |
getOriginatingProvider() |
Возвращает ImageReaderSpi, который был передан в конструктор. |
ImageTypeSpecifier |
getRawImageType |
Возвращает ImageTypeSpecifier, указывающий SampleModel и ColorModel, которые наиболее точно представляют "сырой" внутренний формат изображения. |
protected static Rectangle |
getSourceRegion |
Вспомогательный метод, который может использоваться считывателями для вычисления области исходного изображения, которая должна быть прочитана, с учетом любых настроек области источника и смещения субдискретизации в предоставленном ImageReadParam. |
abstract IIOMetadata |
getStreamMetadata() |
Возвращает объект IIOMetadata, представляющий метаданные, связанные со входным источником в целом (то есть не связанные ни с одним конкретным изображением), или null, если считыватель не поддерживает чтение метаданных, настроен на игнорирование метаданных или если метаданные недоступны. |
IIOMetadata |
getStreamMetadata |
Возвращает объект IIOMetadata, представляющий метаданные, связанные со входным источником в целом (то есть не связанные ни с одним конкретным изображением). |
int |
getThumbnailHeight |
Возвращает высоту эскиза с индексом thumbnailIndex, связанного с изображением с индексом ImageIndex. |
int |
getThumbnailWidth |
Возвращает ширину эскиза с индексом thumbnailIndex, связанного с изображением с индексом ImageIndex. |
int |
getTileGridXOffset |
Возвращает координату X левого верхнего угла плитки (0, 0) в данном изображении. |
int |
getTileGridYOffset |
Возвращает координату Y левого верхнего угла плитки (0, 0) в данном изображении. |
int |
getTileHeight |
Возвращает высоту плитки в данном изображении. |
int |
getTileWidth |
Возвращает ширину плитки в данном изображении. |
abstract int |
getWidth |
Возвращает ширину в пикселях данного изображения в пределах входного источника. |
boolean |
hasThumbnails |
Возвращает true, если данное изображение имеет связанные с ним эскизы. |
boolean |
isIgnoringMetadata() |
Возвращает true, если текущий входной источник помечен как разрешающий игнорирование метаданных путем передачи true в качестве аргумента ignoreMetadata методу setInput. |
boolean |
isImageTiled |
Возвращает true, если изображение организовано в плитки, то есть равные по размеру неперекрывающиеся прямоугольники. |
boolean |
isRandomAccessEasy |
Возвращает true, если формат хранения данного изображения не создает никаких препятствий для произвольного доступа к пикселям. |
boolean |
isSeekForwardOnly() |
Возвращает true, если текущий входной источник помечен как только для прямого поиска путем передачи true в качестве аргумента seekForwardOnly методу setInput. |
protected void |
processImageComplete() |
Транслирует завершение чтения изображения всем зарегистрированным IIOReadProgressListener, вызывая их метод imageComplete. |
protected void |
processImageProgress |
Транслирует текущий процент завершения чтения изображения всем зарегистрированным IIOReadProgressListener, вызывая их метод imageProgress. |
protected void |
processImageStarted |
Транслирует начало чтения изображения всем зарегистрированным IIOReadProgressListener, вызывая их метод imageStarted. |
protected void |
processImageUpdate |
Транслирует обновление набора образцов всем зарегистрированным IIOReadUpdateListener, вызывая их метод imageUpdate. |
protected void |
processPassComplete |
Транслирует окончание прогрессивного прохода всем зарегистрированным IIOReadUpdateListener, вызывая их метод passComplete. |
protected void |
processPassStarted |
Транслирует начало прогрессивного прохода всем зарегистрированным IIOReadUpdateListener, вызывая их метод passStarted. |
protected void |
processReadAborted() |
Рассылает уведомление о прерывании чтения всем зарегистрированным IIOReadProgressListener, вызывая их метод readAborted. |
protected void |
processSequenceComplete() |
Рассылает уведомление об окончании последовательности чтений изображений всем зарегистрированным IIOReadProgressListener, вызывая их метод sequenceComplete. |
protected void |
processSequenceStarted |
Рассылает уведомление о начале последовательности чтений изображений всем зарегистрированным IIOReadProgressListener, вызывая их метод sequenceStarted. |
protected void |
processThumbnailComplete() |
Рассылает уведомление об окончании чтения миниатюры всем зарегистрированным IIOReadProgressListener, вызывая их метод thumbnailComplete. |
protected void |
processThumbnailPassComplete |
Рассылает уведомление об окончании проходного чтения миниатюры всем зарегистрированным IIOReadUpdateListener, вызывая их метод thumbnailPassComplete. |
protected void |
processThumbnailPassStarted |
Рассылает уведомление о начале проходного чтения миниатюры всем зарегистрированным IIOReadUpdateListener, вызывая их метод thumbnailPassStarted. |
protected void |
processThumbnailProgress |
Рассылает уведомление об текущем проценте завершения чтения миниатюры всем зарегистрированным IIOReadProgressListener, вызывая их метод thumbnailProgress. |
protected void |
processThumbnailStarted |
Рассылает уведомление о начале чтения миниатюры всем зарегистрированным IIOReadProgressListener, вызывая их метод thumbnailStarted. |
protected void |
processThumbnailUpdate |
Рассылает уведомление об обновлении набора выборок в изображении миниатюры всем зарегистрированным IIOReadUpdateListener, вызывая их метод thumbnailUpdate. |
protected void |
processWarningOccurred |
Рассылает предупреждающее сообщение всем зарегистрированным IIOReadWarningListener, вызывая их метод warningOccurred. |
protected void |
processWarningOccurred |
Рассылает локализованное предупреждающее сообщение всем зарегистрированным IIOReadWarningListener, вызывая их метод warningOccurred со строкой, взятой из ResourceBundle. |
BufferedImage |
read |
Читает изображение с индексом imageIndex и возвращает его как полное BufferedImage, используя по умолчанию ImageReadParam. |
abstract BufferedImage |
read |
Читает изображение с индексом imageIndex и возвращает его как полное BufferedImage, используя предоставленный ImageReadParam. |
IIOImage |
readAll |
Читает изображение с индексом imageIndex и возвращает IIOImage, содержащий изображение, миниатюры и метаданные изображения, используя предоставленный ImageReadParam. |
Iterator |
readAll |
Возвращает Iterator, содержащий все изображения, миниатюры и метаданные, начиная с индекса, заданного getMinIndex, из входного источника в виде объектов IIOImage. |
RenderedImage |
readAsRenderedImage |
Возвращает объект RenderedImage, содержащий содержимое изображения с индексом imageIndex. |
boolean |
readerSupportsThumbnails() |
Возвращает true, если формат изображения, поддерживаемый этим читателем, поддерживает превью-миниатюры, связанные с ним. |
Raster |
readRaster |
Возвращает новый объект Raster, содержащий сырые данные пикселей из потока изображения без применения преобразования цвета. |
BufferedImage |
readThumbnail |
Возвращает превью-миниатюру изображения с индексом thumbnailIndex, связанную с изображением с индексом ImageIndex, как BufferedImage. |
BufferedImage |
readTile |
Читает плитку, указанную аргументами tileX и tileY, возвращая ее как BufferedImage. |
Raster |
readTileRaster |
Возвращает новый объект Raster, содержащий сырые данные пикселей плитки без применения преобразования цвета. |
void |
removeAllIIOReadProgressListeners() |
Удаляет все текущие зарегистрированные объекты IIOReadProgressListener. |
void |
removeAllIIOReadUpdateListeners() |
Удаляет все текущие зарегистрированные объекты IIOReadUpdateListener. |
void |
removeAllIIOReadWarningListeners() |
Удаляет все текущие зарегистрированные объекты IIOReadWarningListener. |
void |
removeIIOReadProgressListener |
Удаляет IIOReadProgressListener из списка зарегистрированных слушателей прогресса. |
void |
removeIIOReadUpdateListener |
Удаляет IIOReadUpdateListener из списка зарегистрированных слушателей обновлений. |
void |
removeIIOReadWarningListener |
Удаляет IIOReadWarningListener из списка зарегистрированных слушателей ошибок. |
void |
reset() |
Восстанавливает ImageReader в исходное состояние. |
void |
setInput |
Устанавливает входной источник для использования в заданном ImageInputStream или другом Object. |
void |
setInput |
Устанавливает входной источник для использования в заданном ImageInputStream или другом Object. |
void |
setInput |
Устанавливает входной источник для использования в заданном ImageInputStream или другом Object. |
void |
setLocale |
Устанавливает текущее значение Locale этого ImageReader. |
Подробное описание полей
originatingProvider
protected ImageReaderSpi originatingProvider
null, если его идентичность неизвестна или он отсутствует. По умолчанию инициализируется значением null.input
protected Object input
ImageInputStream или другой Object, установленный setInput и полученный getInput. По умолчанию инициализируется значением null.seekForwardOnly
protected boolean seekForwardOnly
true, если текущий источник ввода отмечен как разрешающий только пошаговое движение вперёд, установленный setInput. По умолчанию значение равно false.- См. также:
ignoreMetadata
protected boolean ignoreMetadata
true, если текущий источник ввода отмечен как разрешающий игнорирование метаданных, установленный setInput. По умолчанию значение равно false.- См. также:
minIndex
protected int minIndex
seekForwardOnly устанавливается в значение true, различные методы могут генерировать исключение IndexOutOfBoundsException при попытке доступа к данным, связанным с изображением с меньшим индексом.- См. также:
availableLocales
protected Locale[] availableLocales
Locale, которые могут быть использованы для локализации сообщений об ошибках, или null, если локализация не поддерживается.locale
protected Locale locale
Locale для локализации, или null, если не задана.warningListeners
protected List<IIOReadWarningListener> warningListeners
IIOReadWarningListener, по умолчанию инициализированный значением null, что эквивалентно пустому списку List.warningLocales
protected List<Locale> warningLocales
Locale, связанных с каждым зарегистрированным IIOReadWarningListener, по умолчанию инициализированный значением null, что эквивалентно пустому списку List.progressListeners
protected List<IIOReadProgressListener> progressListeners
IIOReadProgressListener, по умолчанию инициализированный значением null, что эквивалентно пустому списку List.updateListeners
protected List<IIOReadUpdateListener> updateListeners
IIOReadUpdateListener, по умолчанию инициализированный значением null, что эквивалентно пустому списку List.Подробное описание конструкторов
ImageReader
protected ImageReader(ImageReaderSpi originatingProvider)
ImageReader и устанавливает его поле originatingProvider в заданное значение. Подклассы, использующие расширения, должны предоставлять конструктор с сигнатурой (ImageReaderSpi,Object) для получения объекта расширения. Если объект расширения не подходит, должно быть выброшено исключение IllegalArgumentException.
- Параметры:
-
originatingProvider-ImageReaderSpi, вызвавший этот конструктор, илиnull.
Подробное описание методов
getFormatName
public String getFormatName() throws IOException
String, идентифицирующий формат источника ввода. Базовая реализация возвращает originatingProvider.getFormatNames()[0]. Реализации, которые могут не иметь исходного поставщика услуг или желают использовать другую политику именования, должны переопределить этот метод.
- Возвращает:
- имя формата в виде
String. - Исключение:
-
IOException- если произошла ошибка при чтении информации из источника ввода.
getOriginatingProvider
public ImageReaderSpi getOriginatingProvider()
ImageReaderSpi, переданный в конструкторе. Обратите внимание, что это значение может быть null.- Возвращает:
- объект
ImageReaderSpiилиnull. - См. также:
setInput
public void setInput(Object input, boolean seekForwardOnly, boolean ignoreMetadata)
ImageInputStream или другим Object. Источник ввода должен быть задан перед использованием методов запроса или чтения. Если input установлено в значение null, любой текущий установленный источник ввода будет удалён. В любом случае, значение minIndex будет инициализировано значением 0. Параметр seekForwardOnly управляет тем, будет ли значение, возвращаемое getMinIndex, увеличиваться при чтении каждого изображения (или миниатюры, или метаданных изображения). Если seekForwardOnly имеет значение true, то вызов read(index) выбросит исключение IndexOutOfBoundsException, если index < this.minIndex; в противном случае, значение minIndex будет установлено в index. Если seekForwardOnly имеет значение false, значение minIndex останется равным 0 независимо от операций чтения.
Параметр ignoreMetadata, если установлено в true, разрешает чтению игнорировать любые метаданные, встречающиеся во время чтения. Последующие вызовы методов getStreamMetadata и getImageMetadata могут возвращать null, а readAll возвращённое из readAll может возвращать null из своего метода getMetadata. Установка этого параметра может позволить читателю работать эффективнее. Читатель может выбрать игнорировать это значение и возвращать метаданные обычно.
Подклассы должны позаботиться об удалении любых кэшированных данных, основанных на предыдущем потоке, таких как информация заголовка или частично декодированные данные изображения.
Использование общего Object, отличного от ImageInputStream, предназначено для читателей, взаимодействующих напрямую с устройством захвата или протоколом обработки изображений. Список допустимых классов объявляется методом getInputTypes поставщика услуг читателя; большинство читателей вернут массив с одним элементом, содержащим только ImageInputStream.class, чтобы указать, что они принимают только объект ImageInputStream.
Базовая реализация проверяет аргумент input на соответствие списку, возвращаемому методом originatingProvider.getInputTypes(), и завершается ошибкой, если аргумент не является экземпляром одного из классов в списке. Если исходный поставщик установлен в null, ввод принимается только в том случае, если он является ImageInputStream.
- Параметры:
-
input- источникImageInputStreamили другойObjectдля дальнейшего декодирования. -
seekForwardOnly- еслиtrue, изображения и метаданные могут читаться только в возрастающей последовательности из этого источника ввода. -
ignoreMetadata- еслиtrue, метаданные могут быть проигнорированы при чтении. - Исключение:
-
IllegalArgumentException- еслиinputне является экземпляром одного из классов, возвращаемых методомgetInputTypesисходного поставщика услуг, или не является потокомImageInputStream. - См. также:
setInput
public void setInput(Object input, boolean seekForwardOnly)
ImageInputStream или другого Object. Источник ввода должен быть установлен перед использованием любого из методов запроса или чтения. Если input равен null, любой текущий источник ввода будет удален. В любом случае значение minIndex будет инициализировано значением 0. Параметр seekForwardOnly управляет тем, будет ли значение, возвращаемое getMinIndex, увеличиваться при чтении каждого изображения (или миниатюры, или метаданных изображения). Если seekForwardOnly равно true, вызов read(index) выбросит исключение IndexOutOfBoundsException, если index < this.minIndex; в противном случае значение minIndex будет установлено в index. Если seekForwardOnly равно false, значение minIndex останется равным 0 независимо от операций чтения.
Этот метод эквивалентен методу setInput(input, seekForwardOnly, false).
- Parameters:
-
input- используемыйImageInputStreamили другойObjectдля дальнейшего декодирования. -
seekForwardOnly- еслиtrue, изображения и метаданные могут быть считаны только в возрастающем порядке из этого источника ввода. - Throws:
-
IllegalArgumentException- еслиinputне является экземпляром одного из классов, возвращаемых методомgetInputTypesисходного поставщика услуг, или не являетсяImageInputStream. - See Also:
setInput
public void setInput(Object input)
ImageInputStream или другого Object. Источник ввода должен быть установлен перед использованием любого из методов запроса или чтения. Если input равно null, любой текущий источник ввода будет удален. В любом случае значение minIndex будет инициализировано значением 0. Этот метод эквивалентен методу setInput(input, false, false).
- Parameters:
-
input- используемыйImageInputStreamили другойObjectдля дальнейшего декодирования. - Throws:
-
IllegalArgumentException- еслиinputне является экземпляром одного из классов, возвращаемых методомgetInputTypesисходного поставщика услуг, или не являетсяImageInputStream. - See Also:
getInput
public Object getInput()
ImageInputStream или другой Object, ранее установленный в качестве источника ввода. Если источник ввода не был установлен, возвращается null.- Returns:
- используемый для дальнейшего декодирования
Objectилиnull. - See Also:
isSeekForwardOnly
public boolean isSeekForwardOnly()
true, если текущий источник ввода был помечен как допускающий только движение вперёд путём передачи true в качестве параметра seekForwardOnly метода setInput.- Returns:
-
true, если источник ввода позволяет только движение вперёд. - See Also:
isIgnoringMetadata
public boolean isIgnoringMetadata()
true, если текущий источник ввода был помечен как разрешающий игнорирование метаданных путём передачи true в качестве параметра ignoreMetadata метода setInput.- Returns:
-
true, если метаданные могут быть проигнорированы. - See Also:
getMinIndex
public int getMinIndex()
seekForwardOnly() равно false, это значение обычно остаётся 0, что указывает на возможность произвольного доступа. В противном случае оно будет содержать значение последнего обращённого индекса и увеличиваться монотонно.- Returns:
- минимальный допустимый индекс для чтения.
getAvailableLocales
public Locale[] getAvailableLocales()
Locale, которые могут быть использованы для локализации слушателей предупреждений и параметров сжатия. Значение null указывает, что локализация не поддерживается. Стандартная реализация возвращает клон переменной availableLocales, если она не null, или же возвращает null.
- Returns:
- массив
Locale, который может быть использован в качестве аргументов кsetLocale, илиnull.
setLocale
public void setLocale(Locale locale)
Locale этого ImageReader в заданное значение. Значение null удаляет любое предыдущее значение и указывает, что чтецу следует локализовать по своему усмотрению.- Parameters:
-
locale- желаемаяLocaleилиnull. - Throws:
-
IllegalArgumentException- еслиlocaleне null, но не является одним из значений, возвращаемыхgetAvailableLocales. - See Also:
getLocale
public Locale getLocale()
Locale или null, если он не установлен.- Returns:
- текущий
Localeилиnull. - See Also:
getNumImages
public abstract int getNumImages(boolean allowSearch) throws IOException
Обратите внимание, что некоторые форматы изображений (например, анимированные GIF) не указывают, сколько изображений присутствует в потоке. Таким образом, определение количества изображений потребует сканирования всего потока и может потребовать памяти для буферизации. Если изображения обрабатываются в порядке, может быть эффективнее просто вызывать read с возрастающими индексами до тех пор, пока не будет выброшено исключение IndexOutOfBoundsException, чтобы указать, что больше изображений недоступно. Параметр allowSearch может быть установлен в false, чтобы указать, что исчерпывающий поиск нежелателен; возвращаемое значение будет -1, чтобы указать, что поиск необходим. Если вход был задан с seekForwardOnly установленным в true, этот метод выбросит исключение IllegalStateException, если allowSearch установлено в true.
- Parameters:
-
allowSearch- еслиtrue, то будет возвращено фактическое количество изображений, даже если потребуется поиск. Еслиfalse, то чтец может вернуть-1без выполнения поиска. - Returns:
- количество изображений в виде
int, или-1, еслиallowSearchравноfalseи поиск был бы необходим. - Throws:
-
IllegalStateException- если источник ввода не был задан, или если вход был задан сseekForwardOnly, установленным вtrue. -
IOException- если при чтении информации из источника ввода произошла ошибка. - See Also:
getWidth
public abstract int getWidth(int imageIndex) throws IOException
Если изображение может быть отображено с заданным размером пользователя, этот метод возвращает стандартную ширину.
- Parameters:
-
imageIndex- индекс искомого изображения. - Returns:
- ширина изображения в виде
int. - Throws:
-
IllegalStateException- если источник ввода не был задан. -
IndexOutOfBoundsException- если заданный индекс находится за пределами допустимого диапазона. -
IOException- если при чтении информации о ширине из источника ввода произошла ошибка.
getHeight
public abstract int getHeight(int imageIndex) throws IOException
Если изображение может быть отображено с заданным размером пользователя, этот метод возвращает стандартную высоту.
- Parameters:
-
imageIndex- индекс искомого изображения. - Returns:
- высота изображения в виде
int. - Throws:
-
IllegalStateException- если источник ввода не был задан. -
IndexOutOfBoundsException- если заданный индекс находится за пределами допустимого диапазона. -
IOException- если при чтении информации о высоте из источника ввода произошла ошибка.
isRandomAccessEasy
public boolean isRandomAccessEasy(int imageIndex) throws IOException
true, если формат хранения данного изображения не создаёт препятствий для случайного доступа к пикселям. Для большинства сжатых форматов, таких как JPEG, этот метод должен возвращать false, так как для декодирования может потребоваться большая часть изображения, а не только область интереса. Это просто подсказка для программ, желающих повысить эффективность; все читатели должны иметь возможность читать произвольные области, как указано в ImageReadParam.
Обратите внимание, что форматы, возвращающие false из этого метода, могут тем не менее допускать разбиение на плитки (например, маркеры перезапуска в JPEG), и случайный доступ, скорее всего, будет достаточно эффективным для плиток. См. isImageTiled.
Читатель, для которого все изображения гарантированно поддерживают лёгкий случайный доступ или гарантированно не поддерживают его, может вернуть true или false соответственно, не обращаясь к данным изображения. В таких случаях нет необходимости выбрасывать исключение даже если источник ввода не задан или индекс изображения находится вне границ.
Реализация по умолчанию возвращает false.
- Параметры:
-
imageIndex- индекс изображения, которое нужно запросить. - Возвращает:
-
true, если чтение области интереса данного изображения, вероятно, будет эффективным. - Исключения:
-
IllegalStateException- если для определения возвращаемого значения требуется источник ввода, но он не задан. -
IndexOutOfBoundsException- если для определения возвращаемого значения необходимо обратиться к изображению, но указанный индекс находится вне границ. -
IOException- если при чтении произошла ошибка.
getAspectRatio
public float getAspectRatio(int imageIndex) throws IOException
float. Для изображений, которые могут быть изменены в размерах, этот метод предоставляет способ определить соответствующую ширину при заданной высоте или наоборот. Для неизменяемых изображений используются истинные ширина и высота. Реализация по умолчанию просто возвращает (float)getWidth(imageIndex)/getHeight(imageIndex).
- Параметры:
-
imageIndex- индекс изображения, которое нужно запросить. - Возвращает:
float, указывающий коэффициент формы данного изображения.- Исключения:
-
IllegalStateException- если источник ввода не задан. -
IndexOutOfBoundsException- если указанный индекс находится вне границ. -
IOException- если при чтении произошла ошибка.
getRawImageType
public ImageTypeSpecifier getRawImageType(int imageIndex) throws IOException
ImageTypeSpecifier, указывающий SampleModel и ColorModel, которые наиболее точно представляют "сырой" внутренний формат изображения. Если подходящей пары нет, то должен возвращаться тип, сохраняющий наибольшее количество информации из изображения. Возвращаемое значение также должно быть включено в список значений, возвращаемых getImageTypes. Реализация по умолчанию просто возвращает первый элемент из списка, предоставленного getImageType.
- Параметры:
-
imageIndex- индекс изображения, которое нужно запросить. - Возвращает:
ImageTypeSpecifier.- Исключения:
-
IllegalStateException- если источник ввода не задан. -
IndexOutOfBoundsException- если указанный индекс находится вне границ. -
IOException- если при чтении информации о формате из источника ввода произошла ошибка.
getImageTypes
public abstract Iterator<ImageTypeSpecifier> getImageTypes(int imageIndex) throws IOException
Iterator, содержащий возможные типы изображений, в которых может быть декодировано данное изображение, в виде ImageTypeSpecifiers. Будет возвращён как минимум один допустимый тип изображения. Первый элемент итератора должен быть наиболее "естественным" типом для декодирования изображения с минимальными потерями. Например, для JPEG-изображения первым элементом должен быть RGB-изображения, даже если данные изображения хранятся во внутреннем формате в цветовом пространстве YCbCr.
- Параметры:
-
imageIndex- индекс изображения, которое нужноretrieved. - Возвращает:
Iterator, содержащий как минимум одинImageTypeSpecifier, представляющий рекомендуемые типы изображений для декодирования текущего изображения.- Исключения:
-
IllegalStateException- если источник ввода не задан. -
IndexOutOfBoundsException- если указанный индекс находится вне границ. -
IOException- если при чтении информации о формате из источника ввода произошла ошибка. - См. также:
getDefaultReadParam
public ImageReadParam getDefaultReadParam()
ImageReadParam по умолчанию, соответствующий этому формату. Все подклассы должны определить набор значений параметров по умолчанию и вернуть их с этим вызовом. Этот метод может быть вызван до установки источника ввода. Реализация по умолчанию создаёт и возвращает новый объект ImageReadParam, который не допускает масштабирования источника (т.е., возвращает new ImageReadParam()).
- Возвращает:
- объект
ImageReadParam, который можно использовать для управления процессом декодирования с помощью набора значений параметров по умолчанию.
getStreamMetadata
public abstract IIOMetadata getStreamMetadata() throws IOException
IIOMetadata, представляющий метаданные, связанные с источником ввода в целом (то есть, не связанные ни с каким конкретным изображением), или null, если читатель не поддерживает чтение метаданных, установлен для игнорирования метаданных или если метаданные недоступны.- Возвращает:
- объект
IIOMetadataилиnull. - Исключения:
-
IOException- если при чтении произошла ошибка.
getStreamMetadata
public IIOMetadata getStreamMetadata(String formatName, Set<String> nodeNames) throws IOException
IIOMetadata, представляющий метаданные, связанные с источником ввода в целом (то есть, не связанные ни с каким конкретным изображением). Если такие данные отсутствуют, возвращается null. Полученный объект метаданных отвечает только за возвращение документов в формате, указанном в formatName. Внутри любого возвращаемого документа, только узлы, имена которых являются членами nodeNames, обязаны возвращаться. Таким образом, объем обработки метаданных, выполняемой читателем, может быть сведён к минимуму, основываясь на фактически необходимой информации.
Если formatName не является именем поддерживаемого формата метаданных, возвращается null.
Во всех случаях допустимо возвращать более функциональный объект метаданных, чем строго необходимо. Имя формата и имена узлов служат лишь подсказками, которые могут быть использованы для сокращения нагрузки на работу читателя.
Реализация по умолчанию просто возвращает результат вызова getStreamMetadata(), проверив, поддерживается ли имя формата. Если нет, возвращается null.
- Параметры:
-
formatName- имя формата метаданных, которое может быть использовано для получения документа из возвращаемого объектаIIOMetadata. -
nodeNames-Set, содержащий имена узлов, которые могут быть частью полученного документа. - Возвращает:
- объект
IIOMetadataилиnull. - Исключения:
-
IllegalArgumentException- еслиformatNameимеет значениеnull. -
IllegalArgumentException- еслиnodeNamesимеет значениеnull. -
IOException- если при чтении произошла ошибка.
getImageMetadata
public abstract IIOMetadata getImageMetadata(int imageIndex) throws IOException
IIOMetadata, содержащий метаданные, связанные с данным изображением, или null, если читатель не поддерживает чтение метаданных, установлен для игнорирования метаданных или если метаданные недоступны.- Параметры:
-
imageIndex- индекс изображения, метаданные которого необходимо получить. - Возвращает:
- объект
IIOMetadataилиnull. - Исключения:
-
IllegalStateException- если источник ввода не задан. -
IndexOutOfBoundsException- если указанный индекс находится вне границ. -
IOException- если при чтении произошла ошибка.
getImageMetadata
public IIOMetadata getImageMetadata(int imageIndex, String formatName, Set<String> nodeNames) throws IOException
IIOMetadata, представляющий метаданные заданного изображения, или null, если чтец не поддерживает чтение метаданных или они отсутствуют. Возвращаемый объект метаданных отвечает только за возврат документов в формате, указанном в formatName. В любых возвращаемых документах должны возвращаться только узлы, имена которых являются членами nodeNames. Таким образом, объем обработки метаданных, выполняемой чтецом, может быть сведен к минимуму в зависимости от фактически необходимой информации.
Если formatName не является именем поддерживаемого формата метаданных, может быть возвращено null.
Во всех случаях допустимо возвращать объект метаданных, более мощный, чем строго необходимо. Имя формата и имена узлов являются лишь подсказками, которые могут использоваться для уменьшения нагрузки на чтец.
Реализация по умолчанию просто возвращает результат вызова getImageMetadata(imageIndex) после проверки поддержки имени формата. Если она не поддерживается, возвращается null.
- Параметры:
-
imageIndex- индекс изображения, метаданные которого необходимо получить. -
formatName- имя формата метаданных, которое может быть использовано для извлечения документа из возвращаемого объектаIIOMetadata. -
nodeNames- наборSet, содержащий имена узлов, которые могут быть содержатся в возвращаемом документе. - Возвращает:
- объект
IIOMetadataилиnull. - Исключения:
-
IllegalStateException- если источник ввода не задан. -
IndexOutOfBoundsException- если заданный индекс находится вне допустимого диапазона. -
IllegalArgumentException- еслиformatNameравноnull. -
IllegalArgumentException- еслиnodeNamesравноnull. -
IOException- если при чтении произошла ошибка.
read
public BufferedImage read(int imageIndex) throws IOException
imageIndex и возвращает его как полный BufferedImage, используя по умолчанию ImageReadParam. Это удобный метод, вызывающий read(imageIndex, null). Возвращаемое изображение будет отформатировано в соответствии с первым ImageTypeSpecifier, возвращенным из getImageTypes.
Все зарегистрированные объекты IIOReadProgressListener будут уведомлены путем вызова их метода imageStarted, за которым последуют вызовы их метода imageProgress по мере продвижения чтения. Наконец, будет вызван их метод imageComplete. Объекты IIOReadUpdateListener могут быть обновлены в другое время во время чтения по мере декодирования пикселей. Наконец, объекты IIOReadWarningListener получат уведомление о любых некритических предупреждениях, возникающих во время декодирования.
- Параметры:
-
imageIndex- индекс изображения, которое нужно извлечь. - Возвращает:
- требуемую часть изображения в качестве
BufferedImage. - Исключения:
-
IllegalStateException- если источник ввода не задан. -
IndexOutOfBoundsException- если заданный индекс находится вне допустимого диапазона. -
IOException- если при чтении произошла ошибка.
read
public abstract BufferedImage read(int imageIndex, ImageReadParam param) throws IOException
imageIndex и возвращает его как полный BufferedImage, используя предоставленный ImageReadParam. Фактически возвращаемый BufferedImage будет выбран с использованием алгоритма, определенного методом getDestination.
Все зарегистрированные объекты IIOReadProgressListener будут уведомлены путем вызова их метода imageStarted, за которым последуют вызовы их метода imageProgress по мере продвижения чтения. Наконец, будет вызван их метод imageComplete. Объекты IIOReadUpdateListener могут быть обновлены в другое время во время чтения по мере декодирования пикселей. Наконец, объекты IIOReadWarningListener получат уведомление о любых некритических предупреждениях, возникающих во время декодирования.
Набор считываемых входных каналов и записываемых выходных каналов определяется путем вызова getSourceBands и getDestinationBands для предоставленного ImageReadParam. Если длины массивов, возвращаемых этими методами, отличаются, набор входных каналов содержит индекс, больший, чем наибольший доступный индекс входного канала, или набор выходных каналов содержит индекс, больший, чем наибольший допустимый индекс выходного канала, будет выброшено исключение IllegalArgumentException.
Если предоставленный ImageReadParam содержит значения необязательных настроек, не поддерживаемых этим чтецом (например, размер рендеринга источника или любые настройки, специфичные для формата), эти значения будут проигнорированы.
- Параметры:
-
imageIndex- индекс изображения, которое нужно извлечь. -
param-ImageReadParam, используемый для управления процессом чтения, илиnull. - Возвращает:
- требуемую часть изображения в качестве
BufferedImage. - Исключения:
-
IllegalStateException- если источник ввода не задан. -
IndexOutOfBoundsException- если заданный индекс находится вне допустимого диапазона. -
IllegalArgumentException- если набор входных и выходных каналов, указанных вparam.getSourceBandsиparam.getDestinationBands, отличаются по длине или содержат индексы, которые выходят за пределы допустимого диапазона. -
IllegalArgumentException- если полученное изображение будет иметь ширину или высоту меньше 1. -
IOException- если при чтении произошла ошибка.
readAll
public IIOImage readAll(int imageIndex, ImageReadParam param) throws IOException
imageIndex и возвращает IIOImage, содержащий изображение, миниатюры и связанные метаданные изображения, используя предоставленный ImageReadParam. Фактически возвращаемый BufferedImage, на который ссылается возвращаемый IIOImage, будет выбран с использованием алгоритма, определенного методом getDestination.
Все зарегистрированные объекты IIOReadProgressListener будут уведомлены путем вызова их метода imageStarted, за которым последуют вызовы их метода imageProgress по мере продвижения чтения. Наконец, будет вызван их метод imageComplete. Объекты IIOReadUpdateListener могут быть обновлены в другое время во время чтения по мере декодирования пикселей. Наконец, объекты IIOReadWarningListener получат уведомление о любых некритических предупреждениях, возникающих во время декодирования.
Набор считываемых входных каналов и записываемых выходных каналов определяется путем вызова getSourceBands и getDestinationBands для предоставленного ImageReadParam. Если длины массивов, возвращаемых этими методами, отличаются, набор входных каналов содержит индекс, больший, чем наибольший доступный индекс входного канала, или набор выходных каналов содержит индекс, больший, чем наибольший допустимый индекс выходного канала, будет выброшено исключение IllegalArgumentException.
Миниатюры будут возвращены полностью независимо от настроек области.
Если предоставленный ImageReadParam содержит значения необязательных настроек, не поддерживаемых этим чтецом (например, размер рендеринга источника или любые настройки, специфичные для формата), эти значения будут проигнорированы.
- Параметры:
-
imageIndex- индекс изображения, которое нужно извлечь. -
param-ImageReadParam, используемый для управления процессом чтения, илиnull. - Возвращает:
IIOImage, содержащий требуемую часть изображения, набор миниатюр и связанные метаданные изображения.- Исключения:
-
IllegalStateException- если источник ввода не задан. -
IndexOutOfBoundsException- если заданный индекс находится вне допустимого диапазона. -
IllegalArgumentException- если набор входных и выходных каналов, указанных вparam.getSourceBandsиparam.getDestinationBands, отличаются по длине или содержат индексы, которые выходят за пределы допустимого диапазона. -
IllegalArgumentException- если полученное изображение будет иметь ширину или высоту меньше 1. -
IOException- если при чтении произошла ошибка.
readAll
public Iterator<IIOImage> readAll(Iterator<? extends ImageReadParam> params) throws IOException
Iterator, содержащий все изображения, миниатюры и метаданные, начиная с индекса, заданного getMinIndex, из входного источника в виде объектов IIOImage. Предоставляется Iterator, содержащий объекты ImageReadParam; каждый считанный из входного источника элемент изображения потребляется, пока не будут доступны больше изображений. Если параметр чтения Iterator исчерпывает элементы, но из входного источника всё ещё доступны изображения, для оставшихся изображений используются параметры чтения по умолчанию. Если params равен null, для всех изображений будет использован параметр чтения по умолчанию.
Фактический BufferedImage, на который ссылается возвращённый IIOImage, будет выбран с помощью алгоритма, определённого методом getDestination.
Все зарегистрированные объекты IIOReadProgressListener будут уведомлены вызовом их метода sequenceStarted один раз. Затем для каждого декодированного изображения будет вызов метода imageStarted, после чего — вызовы метода imageProgress по мере продвижения чтения и, наконец, вызов метода imageComplete. Метод sequenceComplete будет вызван после декодирования последнего изображения. Объекты IIOReadUpdateListener могут обновляться в другие моменты во время чтения по мере декодирования пикселей. Наконец, объекты IIOReadWarningListener получат уведомление обо всех некритических предупреждениях, возникших во время декодирования.
Набор считываемых исходных каналов и записываемых целевых каналов определяется путём вызова методов getSourceBands и getDestinationBands на предоставленном объекте ImageReadParam. Если длины массивов, возвращаемых этими методами, отличаются, набор исходных каналов содержит индекс, больший, чем максимальный доступный индекс исходного канала, или набор целевых каналов содержит индекс, больший, чем максимальный допустимый индекс целевого канала, выбрасывается исключение IllegalArgumentException.
Миниатюры будут возвращены полностью независимо от настроек области.
Если какие-либо из предоставленных объектов ImageReadParam содержат значения необязательных настроек, не поддерживаемые этим читателем (например, размер рендеринга источника или какие-либо настройки, специфичные для формата), они будут проигнорированы.
- Parameters:
-
params- объектIterator, содержащий объектыImageReadParam. - Returns:
- объект
Iterator, представляющий содержимое входного источника в виде объектовIIOImage. - Throws:
-
IllegalStateException- если входной источник не задан. -
IllegalArgumentException- если любой элемент, отличный отnullвparams, не является объектомImageReadParam. -
IllegalArgumentException- если набор исходных и целевых каналов, указанный методамиparam.getSourceBandsиparam.getDestinationBands, различается по длине или содержит индексы, выходящие за пределы допустимых значений. -
IllegalArgumentException- если у полученного изображения ширина или высота меньше 1. -
IOException- если произошла ошибка при чтении. - See Also:
canReadRaster
public boolean canReadRaster()
true, если этот плагин поддерживает чтение только Raster данных пикселей. Если этот метод возвращает false, вызовы readRaster или readTileRaster приведут к исключению UnsupportedOperationException. Реализация по умолчанию возвращает false.
- Returns:
-
true, если этот плагин поддерживает чтение необработанныхRaster. - See Also:
readRaster
public Raster readRaster(int imageIndex, ImageReadParam param) throws IOException
Raster, содержащий необработанные данные пикселей из потока изображения без применения преобразования цвета. Приложение должно определить, как интерпретировать данные пикселей другими средствами. Любые параметры назначения или типа изображения в предоставленном объекте ImageReadParam игнорируются, но все остальные параметры используются точно так же, как и в методе read, за исключением того, что любой смещение назначения используется в качестве логического, а не физического смещения. Размер возвращаемого Raster всегда будет таким же, как размер исходной области, ограниченной фактическим изображением. Логические смещения в самом потоке игнорируются. Этот метод позволяет форматам, которые обычно применяют преобразование цвета, таким как JPEG, и форматам, которые обычно не имеют связанного цветового пространства, таким как данные дистанционного зондирования или медицинской визуализации, получить доступ к необработанным данным пикселей.
Любые зарегистрированные объекты readUpdateListener игнорируются, так как нет BufferedImage, но все остальные слушатели вызываются точно так же, как и для метода read.
Если canReadRaster() возвращает false, этот метод выбрасывает исключение UnsupportedOperationException.
Если предоставленный объект ImageReadParam содержит значения необязательных настроек, не поддерживаемые этим читателем (например, размер рендеринга источника или какие-либо настройки, специфичные для формата), они будут проигнорированы.
Реализация по умолчанию выбрасывает исключение UnsupportedOperationException.
- Parameters:
-
imageIndex- индекс изображения для чтения. -
param- объектImageReadParam, используемый для управления процессом чтения, илиnull. - Returns:
- требуемая часть изображения в виде объекта
Raster. - Throws:
-
UnsupportedOperationException- если этот плагин не поддерживает чтение необработанныхRaster. -
IllegalStateException- если входной источник не задан. -
IndexOutOfBoundsException- если предоставленный индекс находится вне допустимого диапазона. -
IOException- если произошла ошибка при чтении. - See Also:
isImageTiled
public boolean isImageTiled(int imageIndex) throws IOException
true, если изображение организовано в плитки, то есть в прямоугольники одинакового размера без перекрытия. Плагин-читатель может выбрать, отображать ли имеющуюся в хранящемся изображении разбиение на плитки. Он даже может выбрать рекламировать разбиение на плитки, когда его явно нет. В целом, разбиение на плитки следует рекламировать только в том случае, если это даёт преимущество (в скорости или памяти) при доступе к отдельным плиткам. Независимо от того, рекламирует ли читатель разбиение на плитки, он должен уметь читать произвольную прямоугольную область, заданную в объекте ImageReadParam.
Читатель, для которого все изображения гарантированно разбиено на плитки или гарантированно не разбиено на плитки, может вернуть true или false соответственно, не обращаясь к данным изображения. В таких случаях не требуется выбрасывать исключение даже если не задан входной источник или индекс изображения находится вне допустимого диапазона.
Реализация по умолчанию просто возвращает false.
- Parameters:
-
imageIndex- индекс изображения для запроса. - Returns:
-
true, если изображение разбиено на плитки. - Throws:
-
IllegalStateException- если для определения возвращаемого значения требуется входной источник, но он не задан. -
IndexOutOfBoundsException- если для определения возвращаемого значения необходимо обратиться к изображению, но предоставленный индекс находится вне допустимого диапазона. -
IOException- если произошла ошибка при чтении.
getTileWidth
public int getTileWidth(int imageIndex) throws IOException
Реализация по умолчанию просто возвращает getWidth(imageIndex), что верно для изображений, не разбиениых на плитки. Читатели, поддерживающие разбиение на плитки, должны переопределить этот метод.
- Parameters:
-
imageIndex- индекс изображения для запроса. - Returns:
- ширина плитки.
- Throws:
-
IllegalStateException- если входной источник не задан. -
IndexOutOfBoundsException- если предоставленный индекс находится вне допустимого диапазона. -
IOException- если произошла ошибка при чтении.
getTileHeight
public int getTileHeight(int imageIndex) throws IOException
Реализация по умолчанию просто возвращает getHeight(imageIndex), что верно для изображений, не разбиениых на плитки. Читатели, поддерживающие разбиение на плитки, должны переопределить этот метод.
- Parameters:
-
imageIndex- индекс изображения для запроса. - Returns:
- высота плитки.
- Throws:
-
IllegalStateException- если входной источник не задан. -
IndexOutOfBoundsException- если предоставленный индекс находится вне допустимого диапазона. -
IOException- если произошла ошибка при чтении.
getTileGridXOffset
public int getTileGridXOffset(int imageIndex) throws IOException
Чтец, для которого смещение сетки тайлов всегда имеет одно и то же значение (обычно 0), может вернуть значение без доступа к данным изображения. В таких случаях не нужно выбрасывать исключение, даже если источник ввода не задан или индекс изображения находится вне границ.
Реализация по умолчанию просто возвращает 0, что верно для изображений без тайлов и тайловых изображений в большинстве форматов. Чтецы, поддерживающие тайлы со смещениями отличными от (0, 0), должны переопределить этот метод.
- Parameters:
-
imageIndex- индекс изображения, которое нужно запросить. - Returns:
- смещение сетки тайлов по оси X.
- Throws:
-
IllegalStateException- если для определения возвращаемого значения требуется источник ввода, но он не задан. -
IndexOutOfBoundsException- если для определения возвращаемого значения необходимо обратиться к изображению, но указанный индекс находится вне границ. -
IOException- если во время чтения произошла ошибка.
getTileGridYOffset
public int getTileGridYOffset(int imageIndex) throws IOException
Чтец, для которого смещение сетки тайлов всегда имеет одно и то же значение (обычно 0), может вернуть значение без доступа к данным изображения. В таких случаях не нужно выбрасывать исключение, даже если источник ввода не задан или индекс изображения находится вне границ.
Реализация по умолчанию просто возвращает 0, что верно для изображений без тайлов и тайловых изображений в большинстве форматов. Чтецы, поддерживающие тайлы со смещениями отличными от (0, 0), должны переопределить этот метод.
- Parameters:
-
imageIndex- индекс изображения, которое нужно запросить. - Returns:
- смещение сетки тайлов по оси Y.
- Throws:
-
IllegalStateException- если для определения возвращаемого значения требуется источник ввода, но он не задан. -
IndexOutOfBoundsException- если для определения возвращаемого значения необходимо обратиться к изображению, но указанный индекс находится вне границ. -
IOException- если во время чтения произошла ошибка.
readTile
public BufferedImage readTile(int imageIndex, int tileX, int tileY) throws IOException
tileX и tileY, возвращая его в виде BufferedImage. Если аргументы находятся вне диапазона, выбрасывается IllegalArgumentException. Если изображение не тайловое, значения 0, 0 вернут всё изображение; любые другие значения приведут к выбрасыванию IllegalArgumentException. Этот метод просто удобный эквивалент вызова read(int, ImageReadParam) с параметром чтения, указывающим на область источника со смещениями tileX*getTileWidth(imageIndex), tileY*getTileHeight(imageIndex) и шириной и высотой getTileWidth(imageIndex), getTileHeight(imageIndex); и коэффициентами подвыборки 1 и смещениями 0. Чтобы выполнить подвыборку тайла, вызовите read с параметром чтения, указывающим на эту область, и различными параметрами подвыборки.
Реализация по умолчанию возвращает всё изображение, если tileX и tileY равны 0, или выбрасывает IllegalArgumentException в противном случае.
- Parameters:
-
imageIndex- индекс извлекаемого изображения. -
tileX- индекс столбца (начиная с 0) извлекаемого тайла. -
tileY- индекс строки (начиная с 0) извлекаемого тайла. - Returns:
- тайл в виде
BufferedImage. - Throws:
-
IllegalStateException- если источник ввода не задан. -
IndexOutOfBoundsException- еслиimageIndexнаходится вне границ. -
IllegalArgumentException- если индексы тайла находятся вне границ. -
IOException- если во время чтения произошла ошибка.
readTileRaster
public Raster readTileRaster(int imageIndex, int tileX, int tileY) throws IOException
Raster, содержащий сырые пиксельные данные из тайла без применения преобразования цвета. Приложение должно определить, как интерпретировать пиксельные данные другими способами. Если canReadRaster() возвращает false, этот метод выбрасывает UnsupportedOperationException.
Реализация по умолчанию проверяет, поддерживается ли чтение Raster, и если да, вызывает readRaster(imageIndex, null), если tileX и tileY равны 0, или выбрасывает IllegalArgumentException в противном случае.
- Parameters:
-
imageIndex- индекс изображения, которое нужно получить. -
tileX- индекс столбца (начиная с 0) извлекаемого тайла. -
tileY- индекс строки (начиная с 0) извлекаемого тайла. - Returns:
- тайл в виде
Raster. - Throws:
-
UnsupportedOperationException- если этот плагин не поддерживает чтение сырыхRaster. -
IllegalArgumentException- если индексы тайла находятся вне границ. -
IllegalStateException- если источник ввода не задан. -
IndexOutOfBoundsException- еслиimageIndexнаходится вне границ. -
IOException- если во время чтения произошла ошибка. - See Also:
readAsRenderedImage
public RenderedImage readAsRenderedImage(int imageIndex, ImageReadParam param) throws IOException
RenderedImage, который содержит содержимое изображения, индексированного imageIndex. По умолчанию возвращаемое изображение просто BufferedImage, возвращаемое read(imageIndex, param). Семантика этого метода может отличаться от семантики других методов read несколькими способами. Во-первых, любое изображение назначения и/или тип изображения, заданные в ImageReadParam, могут быть проигнорированы. Во-вторых, обычные вызовы слушателей не гарантируются, или могут быть бессмысленны, если они есть. Это происходит потому, что возвращаемое изображение может быть не полностью заполнено пиксельными данными на момент возврата, или вообще в любое время.
Если предоставленный ImageReadParam содержит значения дополнительных настроек, не поддерживаемые этим читателем (например, размер рендера источника или какие-либо настройки, специфичные для формата), они будут проигнорированы.
Реализация по умолчанию просто вызывает read(imageIndex, param).
- Parameters:
-
imageIndex- индекс изображения, которое нужно получить. -
param-ImageReadParam, используемый для управления процессом чтения, илиnull. - Returns:
- объект
RenderedImage, предоставляющий представление изображения. - Throws:
-
IllegalStateException- если источник ввода не задан. -
IndexOutOfBoundsException- если предоставленный индекс находится вне границ. -
IllegalArgumentException- если набор полос источника и назначения, заданныйparam.getSourceBandsиparam.getDestinationBands, различается по длине или включает индексы, которые находятся вне границ. -
IllegalArgumentException- если у результирующего изображения будет ширина или высота меньше 1. -
IOException- если во время чтения произошла ошибка.
readerSupportsThumbnails
public boolean readerSupportsThumbnails()
true, если формат изображения, понимаемый этим читателем, поддерживает предварительные миниатюрные изображения, связанные с ним. Реализация по умолчанию возвращает false. Если этот метод возвращает false, hasThumbnails и getNumThumbnails вернут false и 0 соответственно, и readThumbnail выбросит UnsupportedOperationException независимо от их аргументов.
Чтец, не поддерживающий миниатюры, не должен реализовывать ни один из методов, связанных с миниатюрами.
- Returns:
-
true, если миниатюры поддерживаются.
hasThumbnails
public boolean hasThumbnails(int imageIndex) throws IOException
true, если у данного изображения есть предварительные миниатюрные изображения, связанные с ним. Если формат не поддерживает миниатюры (readerSupportsThumbnails возвращает false), false будет возвращено независимо от того, был ли установлен источник ввода, или imageIndex находится в пределах границ. Реализация по умолчанию возвращает true, если getNumThumbnails возвращает значение больше 0.
- Parameters:
-
imageIndex- индекс запрашиваемого изображения. - Returns:
-
true, если у данного изображения есть миниатюры. - Throws:
-
IllegalStateException- если читатель поддерживает миниатюры, но источник ввода не задан. -
IndexOutOfBoundsException- если читатель поддерживает миниатюры, ноimageIndexнаходится вне границ. -
IOException- если во время чтения произошла ошибка.
getNumThumbnails
public int getNumThumbnails(int imageIndex) throws IOException
readerSupportsThumbnails возвращает false), 0 будет возвращено независимо от того, был ли установлен источник ввода, или imageIndex находится в пределах границ. Реализация по умолчанию возвращает 0 без проверки своего аргумента.
- Parameters:
-
imageIndex- индекс запрашиваемого изображения. - Returns:
- количество миниатюр, связанных с данным изображением.
- Throws:
-
IllegalStateException- если читатель поддерживает миниатюры, но источник ввода не задан. -
IndexOutOfBoundsException- если читатель поддерживает миниатюры, ноimageIndexнаходится вне границ. -
IOException- если во время чтения произошла ошибка.
getThumbnailWidth
public int getThumbnailWidth(int imageIndex, int thumbnailIndex) throws IOException
thumbnailIndex, связанного с изображением, индексированным по ImageIndex. Если читатель не поддерживает миниатюры, (readerSupportsThumbnails возвращает false), будет брошено исключение UnsupportedOperationException.
Реализация по умолчанию просто возвращает readThumbnail(imageindex, thumbnailIndex).getWidth(). Подклассы должны переопределять этот метод, если это возможно, чтобы избежать принудительной загрузки миниатюры.
- Параметры:
-
imageIndex- индекс извлекаемого изображения. -
thumbnailIndex- индекс извлекаемой миниатюры. - Возвращает:
- ширину требуемой миниатюры в качестве
int. - Исключение:
-
UnsupportedOperationException- если миниатюры не поддерживаются. -
IllegalStateException- если исходный источник не установлен. -
IndexOutOfBoundsException- если один из предоставленных индексов выходит за пределы допустимого диапазона. -
IOException- если во время чтения произошла ошибка.
getThumbnailHeight
public int getThumbnailHeight(int imageIndex, int thumbnailIndex) throws IOException
thumbnailIndex, связанного с изображением, индексированным по ImageIndex. Если читатель не поддерживает миниатюры, (readerSupportsThumbnails возвращает false), будет брошено исключение UnsupportedOperationException.
Реализация по умолчанию просто возвращает readThumbnail(imageindex, thumbnailIndex).getHeight(). Подклассы должны переопределять этот метод, если это возможно, чтобы избежать принудительной загрузки миниатюры.
- Параметры:
-
imageIndex- индекс извлекаемого изображения. -
thumbnailIndex- индекс извлекаемой миниатюры. - Возвращает:
- высоту требуемой миниатюры в качестве
int. - Исключение:
-
UnsupportedOperationException- если миниатюры не поддерживаются. -
IllegalStateException- если исходный источник не установлен. -
IndexOutOfBoundsException- если один из предоставленных индексов выходит за пределы допустимого диапазона. -
IOException- если во время чтения произошла ошибка.
readThumbnail
public BufferedImage readThumbnail(int imageIndex, int thumbnailIndex) throws IOException
thumbnailIndex, связанное с изображением, индексированным по ImageIndex, в виде BufferedImage. Все зарегистрированные объекты IIOReadProgressListener будут уведомлены вызовом их методов thumbnailStarted, thumbnailProgress и thumbnailComplete.
Если читатель не поддерживает миниатюры, (readerSupportsThumbnails возвращает false), будет брошено исключение UnsupportedOperationException независимо от того, установлен ли исходный источник или индексы находятся в пределах допустимых значений.
Реализация по умолчанию бросает исключение UnsupportedOperationException.
- Параметры:
-
imageIndex- индекс извлекаемого изображения. -
thumbnailIndex- индекс извлекаемой миниатюры. - Возвращает:
- требуемую миниатюру в виде
BufferedImage. - Исключение:
-
UnsupportedOperationException- если миниатюры не поддерживаются. -
IllegalStateException- если исходный источник не установлен. -
IndexOutOfBoundsException- если один из предоставленных индексов выходит за пределы допустимого диапазона. -
IOException- если во время чтения произошла ошибка.
abort
public void abort()
Читатели должны вызывать clearAbortRequest в начале каждой операции чтения и регулярно проверять значение abortRequested во время чтения.
abortRequested
protected boolean abortRequested()
true, если с момента создания читателя или вызова clearAbortRequest была запрошена отмена текущей операции чтения.- Возвращает:
-
true, если текущую операцию чтения следует прервать. - См. также:
clearAbortRequest
protected void clearAbortRequest()
abortRequested вернет значение false.- См. также:
addIIOReadWarningListener
public void addIIOReadWarningListener(IIOReadWarningListener listener)
IIOReadWarningListener в список зарегистрированных слушателей. Если listener равно null, исключение не будет брошено, и никаких действий не будет выполнено. Сообщения, отправленные данному слушателю, будут локализованы, если это возможно, в соответствии с текущим Locale. Если не установлен Locale, сообщения об ошибках могут быть локализованы по усмотрению читателя.- Параметры:
-
listener- регистрируемый слушательIIOReadWarningListener. - См. также:
removeIIOReadWarningListener
public void removeIIOReadWarningListener(IIOReadWarningListener listener)
IIOReadWarningListener из списка зарегистрированных слушателей ошибок. Если слушатель не был зарегистрирован ранее, или если listener равно null, исключение не будет брошено, и никаких действий не будет выполнено.- Параметры:
-
listener- отменяемый слушатель IIOReadWarningListener. - См. также:
removeAllIIOReadWarningListeners
public void removeAllIIOReadWarningListeners()
IIOReadWarningListener. Реализация по умолчанию устанавливает переменные экземпляра warningListeners и warningLocales в значение null.
addIIOReadProgressListener
public void addIIOReadProgressListener(IIOReadProgressListener listener)
IIOReadProgressListener в список зарегистрированных слушателей прогресса. Если listener равно null, исключение не будет брошено, и никаких действий не будет выполнено.- Параметры:
-
listener- регистрируемый слушатель IIOReadProgressListener. - См. также:
removeIIOReadProgressListener
public void removeIIOReadProgressListener(IIOReadProgressListener listener)
IIOReadProgressListener из списка зарегистрированных слушателей прогресса. Если слушатель не был зарегистрирован ранее, или если listener равно null, исключение не будет брошено, и никаких действий не будет выполнено.- Параметры:
-
listener- отменяемый слушатель IIOReadProgressListener. - См. также:
removeAllIIOReadProgressListeners
public void removeAllIIOReadProgressListeners()
IIOReadProgressListener. Реализация по умолчанию устанавливает переменную экземпляра progressListeners в значение null.
addIIOReadUpdateListener
public void addIIOReadUpdateListener(IIOReadUpdateListener listener)
IIOReadUpdateListener в список зарегистрированных слушателей обновлений. Если объект listener является null, исключение не будет выброшено, и никаких действий не будет выполнено. Слушатель получит уведомления об обновлениях пикселей по мере декодирования изображений и миниатюр, включая начало и конец прогрессивных проходов. Если слушателей обновлений нет, чтец может выбрать выполнение меньшего количества обновлений пикселей целевых изображений и/или миниатюр, что может привести к более эффективному декодированию.
Например, при прогрессивном декодировании JPEG каждый проход содержит обновления набора коэффициентов, которые должны были бы быть преобразованы в значения пикселей и преобразованы в цветовое пространство RGB для каждого прохода, если слушатели присутствуют. Если слушатели отсутствуют, коэффициенты могут быть просто накоплены, а окончательные результаты преобразованы и преобразованы в цвет только один раз.
Окончательные результаты декодирования будут одинаковыми, выполняются ли промежуточные обновления или нет. Таким образом, если нужно только конечное изображение, может быть предпочтительнее не регистрировать никаких объектов IIOReadUpdateListener. В целом, прогрессивное обновление наиболее эффективно при получении изображений по сетевому подключению, которое очень медленное по сравнению с локальной обработкой ЦП; по быстрому подключению прогрессивные обновления могут фактически замедлить отображение изображения.
- Parameters:
-
listener- слушатель IIOReadUpdateListener, который нужно зарегистрировать. - See Also:
removeIIOReadUpdateListener
public void removeIIOReadUpdateListener(IIOReadUpdateListener listener)
IIOReadUpdateListener из списка зарегистрированных слушателей обновлений. Если слушатель ранее не был зарегистрирован или если объект listener равен null, исключение не будет выброшено, и никаких действий не будет выполнено.- Parameters:
-
listener- слушатель IIOReadUpdateListener, который нужно отменить регистрацию. - See Also:
removeAllIIOReadUpdateListeners
public void removeAllIIOReadUpdateListeners()
IIOReadUpdateListener. Реализация по умолчанию устанавливает переменную экземпляра updateListeners в значение null.
processSequenceStarted
protected void processSequenceStarted(int minIndex)
IIOReadProgressListener, вызывая их метод sequenceStarted. Подклассы могут использовать этот метод для удобства.- Parameters:
-
minIndex- наименьший индекс, который читается.
processSequenceComplete
protected void processSequenceComplete()
IIOReadProgressListener, вызывая их метод sequenceComplete. Подклассы могут использовать этот метод для удобства.processImageStarted
protected void processImageStarted(int imageIndex)
IIOReadProgressListener, вызывая их метод imageStarted. Подклассы могут использовать этот метод для удобства.- Parameters:
-
imageIndex- индекс изображения, которое будет читаться.
processImageProgress
protected void processImageProgress(float percentageDone)
IIOReadProgressListener, вызывая их метод imageProgress. Подклассы могут использовать этот метод для удобства.- Parameters:
-
percentageDone- текущий процент завершения в видеfloat.
processImageComplete
protected void processImageComplete()
IIOReadProgressListener, вызывая их метод imageComplete. Подклассы могут использовать этот метод для удобства.processThumbnailStarted
protected void processThumbnailStarted(int imageIndex, int thumbnailIndex)
IIOReadProgressListener, вызывая их метод thumbnailStarted. Подклассы могут использовать этот метод для удобства.- Parameters:
-
imageIndex- индекс изображения, связанного с миниатюрой. -
thumbnailIndex- индекс миниатюры.
processThumbnailProgress
protected void processThumbnailProgress(float percentageDone)
IIOReadProgressListener, вызывая их метод thumbnailProgress. Подклассы могут использовать этот метод для удобства.- Parameters:
-
percentageDone- текущий процент завершения в видеfloat.
processThumbnailComplete
protected void processThumbnailComplete()
IIOReadProgressListener, вызывая их метод thumbnailComplete. Подклассы могут использовать этот метод для удобства.processReadAborted
protected void processReadAborted()
IIOReadProgressListener, вызывая их метод readAborted. Подклассы могут использовать этот метод для удобства.processPassStarted
protected void processPassStarted(BufferedImage theImage, int pass, int minPass, int maxPass, int minX, int minY, int periodX, int periodY, int[] bands)
IIOReadUpdateListener, вызывая их метод passStarted. Подклассы могут использовать этот метод для удобства.- Parameters:
-
theImage- обновляемоеBufferedImage. -
pass- индекс текущего прохода, начиная с 0. -
minPass- индекс первого прохода, который будет декодирован. -
maxPass- индекс последнего прохода, который будет декодирован. -
minX- координата X верхнего левого пикселя, включённого в проход. -
minY- координата X верхнего левого пикселя, включённого в проход. -
periodX- горизонтальное расстояние между пикселями. -
periodY- вертикальное расстояние между пикселями. -
bands- массивint, указывающий на набор затронутых полос назначения.
processImageUpdate
protected void processImageUpdate(BufferedImage theImage, int minX, int minY, int width, int height, int periodX, int periodY, int[] bands)
IIOReadUpdateListener, вызывая их метод imageUpdate. Подклассы могут использовать этот метод для удобства.- Parameters:
-
theImage- обновляемоеBufferedImage. -
minX- координата X верхнего левого пикселя, включённого в проход. -
minY- координата X верхнего левого пикселя, включённого в проход. -
width- общая ширина обновляемой области, включая пропущенные пиксели, еслиperiodX > 1. -
height- общая высота обновляемой области, включая пропущенные пиксели, еслиperiodY > 1. -
periodX- горизонтальное расстояние между пикселями. -
periodY- вертикальное расстояние между пикселями. -
bands- массивint, указывающий на набор затронутых полос назначения.
processPassComplete
protected void processPassComplete(BufferedImage theImage)
IIOReadUpdateListener, вызывая их метод passComplete. Подклассы могут использовать этот метод для удобства.- Parameters:
-
theImage- обновляемоеBufferedImage.
processThumbnailPassStarted
protected void processThumbnailPassStarted(BufferedImage theThumbnail, int pass, int minPass, int maxPass, int minX, int minY, int periodX, int periodY, int[] bands)
IIOReadUpdateListener, вызывая их метод thumbnailPassStarted. Подклассы могут использовать этот метод в качестве удобства.- Параметры:
-
theThumbnail- обновляемая миниатюраBufferedImage. -
pass- индекс текущего прохода, начиная с 0. -
minPass- индекс первого прохода, который будет декодирован. -
maxPass- индекс последнего прохода, который будет декодирован. -
minX- координата X левого верхнего пикселя, включённого в проход. -
minY- координата X левого верхнего пикселя, включённого в проход. -
periodX- горизонтальное расстояние между пикселями. -
periodY- вертикальное расстояние между пикселями. -
bands- массивint, указывающий на набор затронутых полос назначения.
processThumbnailUpdate
protected void processThumbnailUpdate(BufferedImage theThumbnail, int minX, int minY, int width, int height, int periodX, int periodY, int[] bands)
IIOReadUpdateListener, вызывая их метод thumbnailUpdate. Подклассы могут использовать этот метод в качестве удобства.- Параметры:
-
theThumbnail- обновляемая миниатюраBufferedImage. -
minX- координата X левого верхнего пикселя, включённого в проход. -
minY- координата X левого верхнего пикселя, включённого в проход. -
width- общая ширина обновляемой области, включая пиксели, пропускаемые, еслиperiodX > 1. -
height- общая высота обновляемой области, включая пиксели, пропускаемые, еслиperiodY > 1. -
periodX- горизонтальное расстояние между пикселями. -
periodY- вертикальное расстояние между пикселями. -
bands- массивint, указывающий на набор затронутых полос назначения.
processThumbnailPassComplete
protected void processThumbnailPassComplete(BufferedImage theThumbnail)
IIOReadUpdateListener, вызывая их метод thumbnailPassComplete. Подклассы могут использовать этот метод в качестве удобства.- Параметры:
-
theThumbnail- обновляемая миниатюраBufferedImage.
processWarningOccurred
protected void processWarningOccurred(String warning)
IIOReadWarningListener, вызывая их метод warningOccurred. Подклассы могут использовать этот метод в качестве удобства.- Параметры:
-
warning- сообщение об ошибке для отправки. - Исключения:
-
IllegalArgumentException- еслиwarningравенnull.
processWarningOccurred
protected void processWarningOccurred(String baseName, String keyword)
IIOReadWarningListener, вызывая их метод warningOccurred со строкой из ResourceBundle. Подклассы могут использовать этот метод в качестве удобства.- Параметры:
-
baseName- базовое имя набораResourceBundle, содержащего локализованные сообщения об ошибках. -
keyword- ключевое слово для индексирования сообщения об ошибке в набореResourceBundle. - Исключения:
-
IllegalArgumentException- еслиbaseNameравенnull. -
IllegalArgumentException- еслиkeywordравенnull. -
IllegalArgumentException- если соответствующийResourceBundleне может быть найден. -
IllegalArgumentException- если именованный ресурс не найден в найденномResourceBundle. -
IllegalArgumentException- если объект, извлечённый изResourceBundle, не являетсяString.
reset
public void reset()
ImageReader в исходное состояние. Стандартная реализация вызывает setInput(null, false), setLocale(null), removeAllIIOReadUpdateListeners(), removeAllIIOReadWarningListeners(), removeAllIIOReadProgressListeners() и clearAbortRequest.
dispose
public void dispose()
finalize) после вызова этого метода не определён. Приложениям важно вызывать этот метод, когда они больше не будут использовать этот ImageReader. В противном случае читатель может продолжать удерживать ресурсы неопределённо долго.
Стандартная реализация этого метода в суперклассе ничего не делает. Реализации подклассов должны гарантировать, что все ресурсы, особенно нативные, освобождаются.
getSourceRegion
protected static Rectangle getSourceRegion(ImageReadParam param, int srcWidth, int srcHeight)
ImageReadParam. Фактические коэффициенты подвыборки, размер назначения и смещение назначения не учитываются, поэтому необходимо выполнить дальнейшее обрезание. Метод computeRegions выполняет все необходимые операции обрезания.- Параметры:
-
param- используемыйImageReadParamилиnull. -
srcWidth- ширина исходного изображения. -
srcHeight- высота исходного изображения. - Возвращает:
- область исходного изображения в виде
Rectangle.
computeRegions
protected static void computeRegions(ImageReadParam param, int srcWidth, int srcHeight, BufferedImage image, Rectangle srcRegion, Rectangle destRegion)
ImageReadParam. Область исходного изображения начинается с всего исходного изображения. Затем она обрезается до области исходного изображения, указанной в ImageReadParam, если она указана. Если любое из смещений назначения отрицательно, область исходного изображения обрезается таким образом, чтобы её верхний левый угол совпадал с верхним левым углом изображения назначения, учитывая подвыборку. Затем результат обрезается до изображения назначения справа и снизу, если оно указано, учитывая подвыборку и смещения назначения.
Аналогично, область назначения начинается с исходного изображения, смещается до смещения назначения, указанного в ImageReadParam, если оно есть, и, наконец, обрезается до изображения назначения, если оно есть.
Если ширина или высота областей исходного или назначения оказываются равными 0, выбрасывается IllegalArgumentException.
Метод getSourceRegion может быть использован, если требуется только обрезание исходного изображения.
- Параметры:
-
param-ImageReadParamилиnull. -
srcWidth- ширина исходного изображения. -
srcHeight- высота исходного изображения. -
image- изображение назначенияBufferedImageилиnull. -
srcRegion-Rectangle, который будет заполнен областью исходного изображения. -
destRegion-Rectangle, который будет заполнен областью изображения назначения. - Исключения:
-
IllegalArgumentException- еслиsrcRegionравенnull. -
IllegalArgumentException- еслиdstRegionравенnull. -
IllegalArgumentException- если полученная область исходного или назначения пустая.
checkReadParamBandSettings
protected static void checkReadParamBandSettings(ImageReadParam param, int numSrcBands, int numDstBands)
ImageReadParam. Этот метод можно вызвать, как только читатель узнает количество полос исходного изображения, как оно существует в потоке ввода, и количество полос изображения назначения, которое записывается. Метод извлекает массивы параметров полос источника и назначения из param, используя методы getSourceBands и getDestinationBands (или считает их равными null, если param является null). Если массив параметров полос источника является null, он считается равным массиву { 0, 1, ..., numSrcBands - 1 }, и аналогично для массива параметров полос назначения.
Затем метод проверяет, что оба массива имеют одинаковую длину и что ни один массив не содержит значение, большее, чем максимальный доступный индекс полосы.
Любой сбой приводит к выбрасыванию исключения IllegalArgumentException; успех приводит к тому, что метод возвращается без явного результата.
- Параметры:
-
param- используемый для чтения изображенияImageReadParam. -
numSrcBands- количество полос изображения, как оно существует в исходном потоке. -
numDstBands- количество полос в записываемом изображении назначения. - Исключения:
-
IllegalArgumentException- еслиparamсодержит недопустимое описание подмножества полос источника и/или назначения.
getDestination
protected static BufferedImage getDestination(ImageReadParam param, Iterator<ImageTypeSpecifier> imageTypes, int width, int height) throws IIOException
BufferedImage, в который следует записывать декодированные пиксельные данные. Изображение определяется путем проверки переданного ImageReadParam, если он не является null; если его метод getDestination возвращает значение, отличное от null, это изображение просто возвращается. В противном случае вызывается метод param.getDestinationType для определения, был ли указан определённый тип изображения. Если да, возвращённое ImageTypeSpecifier используется после проверки, что оно равно одному из тех, которые включены в imageTypes. Если param является null или вышеупомянутые шаги не привели к получению изображения или ImageTypeSpecifier, используется первое значение, полученное из параметра imageTypes. Обычно вызывающий метод устанавливает imageTypes в значение getImageTypes(imageIndex).
Далее, размеры изображения определяются вызовом computeRegions. Фактическая ширина и высота декодируемого изображения передаются как параметры width и height.
- Параметры:
-
param-ImageReadParamдля получения изображения назначения или типа изображения, илиnull. -
imageTypes-IteratorImageTypeSpecifier, указывающий допустимые типы изображений, с первым по умолчанию. -
width- фактическая ширина декодируемого изображения или тайла. -
height- фактическая ширина декодируемого изображения или тайла. - Возвращает:
BufferedImage, в который следует записывать декодированные пиксельные данные.- Исключения:
-
IIOException- еслиImageTypeSpecifier, указанныйparam, не соответствует ни одному из допустимых значений изimageTypes. -
IllegalArgumentException- еслиimageTypesявляетсяnullили пустым, или если из него извлекается объект, не являющийся типомImageTypeSpecifier. -
IllegalArgumentException- если полученное изображение будет иметь ширину или высоту меньше 1. -
IllegalArgumentException- если произведениеwidthиheightбольше, чемInteger.MAX_VALUE.
© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://download.java.net/java/early_access/jdk24/docs/api/java.desktop/javax/imageio/ImageReader.html