Класс 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<IIOReadProgressListener> |
progressListeners |
Массив текущих зарегистрированных IIOReadProgressListeners, инициализированный по умолчанию null, что эквивалентно пустому List. |
protected boolean |
seekForwardOnly |
true если текущий источник ввода был помечен как разрешающий только поиск вперёд setInput. |
protected List<IIOReadUpdateListener> |
updateListeners |
Массив текущих зарегистрированных IIOReadUpdateListeners, инициализированный по умолчанию null, что эквивалентно пустому List. |
protected List<IIOReadWarningListener> |
warningListeners |
Массив текущих зарегистрированных IIOReadWarningListeners, инициализированный по умолчанию null, что эквивалентно пустому List. |
protected List<Locale> |
warningLocales |
Массив Locales, связанных с каждым из текущих зарегистрированных IIOReadWarningListeners, инициализированный по умолчанию 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() |
Возвращает массив Locales, которые могут быть использованы для локализации слушателей предупреждений и настроек сжатия. |
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<ImageTypeSpecifier> |
getImageTypes |
Возвращает Iterator, содержащий возможные типы изображений, в которые может быть декодировано данное изображение, в виде ImageTypeSpecifierss. |
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() |
Распространяет завершение чтения изображения всем зарегистрированным IIOReadProgressListeners, вызвав их метод imageComplete. |
protected void |
processImageProgress |
Распространяет текущий процент завершения изображения всем зарегистрированным IIOReadProgressListeners, вызвав их метод imageProgress. |
protected void |
processImageStarted |
Распространяет начало чтения изображения всем зарегистрированным IIOReadProgressListeners, вызвав их метод imageStarted. |
protected void |
processImageUpdate |
Распространяет обновление набора выборок всем зарегистрированным IIOReadUpdateListeners, вызвав их метод imageUpdate. |
protected void |
processPassComplete |
Распространяет завершение прохода прогрессивного чтения всем зарегистрированным IIOReadUpdateListeners, вызвав их метод passComplete. |
protected void |
processPassStarted |
Распространяет начало прохода прогрессивного чтения всем зарегистрированным IIOReadUpdateListeners, вызвав их метод 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<IIOImage> |
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 |
Устанавливает текущее значение Locale этого ImageReader на заданное значение. |
Подробное описание полей
originatingProvider
protected ImageReaderSpi originatingProvider
ImageReaderSpi, который инициализировал этот объект, или 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
List зарегистрированных обработчиков предупреждений, по умолчанию инициализирован null, что эквивалентно пустому списку List. warningLocales
protected List<Locale> warningLocales
List локалей, связанных с каждым зарегистрированным обработчиком IIOReadWarningListener, по умолчанию инициализирован null, что эквивалентно пустому списку List. progressListeners
protected List<IIOReadProgressListener> progressListeners
List зарегистрированных обработчиков прогресса, по умолчанию инициализирован null, что эквивалентно пустому списку List. updateListeners
protected List<IIOReadUpdateListener> updateListeners
List зарегистрированных обработчиков обновлений, по умолчанию инициализирован 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, может возвращать 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 будет инициализировано нулём. Параметр 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 будет инициализировано нулём. Этот метод эквивалентен 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не пусто, но не является одним из значений, возвращаемых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.
- Parameters:
-
imageIndex- индекс изображения, которое нужно запросить. - Returns:
-
trueесли чтение области интереса данного изображения, вероятно, будет эффективным. - Throws:
-
IllegalStateException- если для определения возвращаемого значения требуется источник ввода, но он не задан. -
IndexOutOfBoundsException- если для определения возвращаемого значения необходимо обратиться к изображению, но предоставленный индекс находится за пределами допустимого диапазона. -
IOException- если при чтении произошла ошибка.
getAspectRatio
public float getAspectRatio(int imageIndex) throws IOException
float. Для изображений, которые можно изменять, этот метод предоставляет способ определения подходящей ширины при заданной высоте или наоборот. Для неизменяемых изображений используются истинные ширина и высота. Реализация по умолчанию просто возвращает (float)getWidth(imageIndex)/getHeight(imageIndex).
- Parameters:
-
imageIndex- индекс изображения, которое нужно запросить. - Returns:
- a
float, указывающий соотношение сторон данного изображения. - Throws:
-
IllegalStateException- если источник ввода не установлен. -
IndexOutOfBoundsException- если предоставленный индекс находится за пределами допустимого диапазона. -
IOException- если при чтении произошла ошибка.
getRawImageType
public ImageTypeSpecifier getRawImageType(int imageIndex) throws IOException
ImageTypeSpecifier, указывающий на SampleModel и ColorModel, которые наиболее точно представляют "сырой" внутренний формат изображения. Если точного совпадения нет, должен быть возвращен тип, сохраняющий наибольшее количество информации из изображения. Возвращаемое значение также должно быть включено в список значений, возвращаемых getImageTypes. Реализация по умолчанию просто возвращает первый элемент из списка, предоставленного getImageType.
- Parameters:
-
imageIndex- индекс изображения, которое нужно запросить. - Returns:
- an
ImageTypeSpecifier. - Throws:
-
IllegalStateException- если источник ввода не установлен. -
IndexOutOfBoundsException- если предоставленный индекс находится за пределами допустимого диапазона. -
IOException- если при чтении информации о формате из источника ввода произошла ошибка.
getImageTypes
public abstract Iterator<ImageTypeSpecifier> getImageTypes(int imageIndex) throws IOException
Iterator, содержащий возможные типы изображений, в которые можно декодировать данное изображение, в виде ImageTypeSpecifiers. Будет возвращен по крайней мере один допустимый тип изображения. Первый элемент итератора должен быть наиболее "естественным" типом для декодирования изображения с минимальными потерями. Например, для JPEG-изображения первый элемент должен быть изображением RGB, даже если данные изображения хранятся во внутренней цветовой модели YCbCr.
- Parameters:
-
imageIndex- индекс изображения, которое нужноretrieved. - Returns:
- an
Iterator, содержащий по крайней мере одинImageTypeSpecifier, представляющий предлагаемые типы изображений для декодирования текущего изображения. - Throws:
-
IllegalStateException- если источник ввода не установлен. -
IndexOutOfBoundsException- если предоставленный индекс находится за пределами допустимого диапазона. -
IOException- если при чтении информации о формате из источника ввода произошла ошибка. - See Also:
getDefaultReadParam
public ImageReadParam getDefaultReadParam()
ImageReadParam по умолчанию, подходящий для данного формата. Все подклассы должны определить набор значений по умолчанию для всех параметров и вернуть их с этим вызовом. Этот метод может быть вызван до установки источника ввода. Реализация по умолчанию создает и возвращает новый объект ImageReadParam, который не допускает масштабирования источника (т. е., он возвращает new ImageReadParam()).
- Returns:
- объект
ImageReadParam, который можно использовать для управления процессом декодирования с помощью набора значений по умолчанию.
getStreamMetadata
public abstract IIOMetadata getStreamMetadata() throws IOException
IIOMetadata, представляющий метаданные, связанные с источником ввода в целом (т. е. не связанные ни с каким конкретным изображением), или null если читатель не поддерживает чтение метаданных, установлен для игнорирования метаданных или если метаданные недоступны.- Returns:
- объект
IIOMetadataилиnull. - Throws:
-
IOException- если при чтении произошла ошибка.
getStreamMetadata
public IIOMetadata getStreamMetadata(String formatName, Set<String> nodeNames) throws IOException
IIOMetadata, представляющий метаданные, связанные с источником ввода в целом (т. е. не связанные ни с каким конкретным изображением). Если таких данных нет, возвращается null. Возвращаемый объект метаданных отвечает только за возвращение документов в формате, указанном в formatName. В любых возвращаемых документах требуются только узлы, имена которых являются членами nodeNames. Таким образом, объем обработки метаданных, выполняемой читателем, может быть сведен к минимуму в зависимости от фактически необходимой информации.
Если formatName не является именем поддерживаемого формата метаданных, возвращается null.
Во всех случаях допустимо возвращать более функциональный объект метаданных, чем строго необходимо. Имя формата и имена узлов являются всего лишь подсказками, которые могут использоваться для снижения нагрузки на читатель.
Реализация по умолчанию просто возвращает результат вызова getStreamMetadata(), после проверки того, что имя формата поддерживается. Если нет, возвращается null.
- Parameters:
-
formatName- имя формата метаданных, которое может быть использовано для получения документа из возвращаемого объектаIIOMetadata. -
nodeNames-Setсодержащий имена узлов, которые могут содержаться в полученном документе. - Returns:
- объект
IIOMetadataилиnull. - Throws:
-
IllegalArgumentException- еслиformatNameявляетсяnull. -
IllegalArgumentException- еслиnodeNamesявляетсяnull. -
IOException- если при чтении произошла ошибка.
getImageMetadata
public abstract IIOMetadata getImageMetadata(int imageIndex) throws IOException
IIOMetadata содержащий метаданные, связанные с заданным изображением, или null если читатель не поддерживает чтение метаданных, установлен для игнорирования метаданных или если метаданные недоступны.- Parameters:
-
imageIndex- индекс изображения, метаданные которого нужно получить. - Returns:
- объект
IIOMetadataилиnull. - Throws:
-
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.
- Parameters:
-
imageIndex- индекс изображения, метаданные которого необходимо получить. -
formatName- имя формата метаданных, которое может использоваться для извлечения документа из возвращённого объектаIIOMetadata. -
nodeNames- наборSet, содержащий имена узлов, которые могут содержаться в возвращаемом документе. - Returns:
- объект
IIOMetadata, илиnull. - Throws:
-
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 получат уведомление о любых некритических предупреждениях, возникающих во время декодирования.
- Parameters:
-
imageIndex- индекс изображения для извлечения. - Returns:
- требуемая часть изображения в виде
BufferedImage. - Throws:
-
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 содержит значения дополнительных параметров, не поддерживаемые этим читателем (например, размер рендеринга источника или любые параметры, специфичные для формата), эти значения будут проигнорированы.
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 содержит значения дополнительных параметров, не поддерживаемые этим читателем (например, размер рендеринга источника или любые параметры, специфичные для формата), эти значения будут проигнорированы.
readAll
public Iterator<IIOImage> readAll(Iterator<? extends ImageReadParam> params) throws IOException
getMinIndex, из входного источника в виде объектов IIOImage. Поставляется объект, содержащий объекты ImageReadParam; каждый считанный из входного источника элемент изображения потребляется до тех пор, пока не будут доступны больше изображений. Если параметр чтения Iterator исчерпывает элементы, но из входного источника по-прежнему доступны изображения, для оставшихся изображений используются параметры чтения по умолчанию.
Если params равно null, для всех изображений будет использоваться параметр чтения по умолчанию.
Фактический BufferedImage, на который ссылается возвращаемый объект IIOImage, будет выбран с использованием алгоритма, определенного методом getDestination.
Все зарегистрированные объекты IIOReadProgressListener будут уведомлены вызовом их метода sequenceStarted один раз. Затем, для каждого декодированного изображения, будет выполнен вызов imageStarted, после чего — вызовы imageProgress по мере выполнения чтения и, наконец, вызов imageComplete.
Метод sequenceComplete будет вызван после декодирования последнего изображения. Объекты IIOReadUpdateListener могут быть обновлены в другие моменты во время чтения, когда декодируются пиксели.
Наконец, объекты IIOReadWarningListener получат уведомление о любых некритических предупреждениях, возникших во время декодирования.
Набор считываемых исходных полос и записываемых целевых полос определяется путем вызова getSourceBands и getDestinationBands для предоставленного объекта ImageReadParam. Если длина массивов, возвращаемых этими методами, отличается, набор исходных полос содержит индекс, больший, чем наибольший доступный индекс источника, или набор целевых полос содержит индекс, больший, чем наибольший допустимый индекс назначения, будет брошено исключение IllegalArgumentException.
Миниатюры будут возвращены полностью независимо от настроек области.
Если какой-либо из предоставленных ImageReadParam содержит значения необязательных настроек, не поддерживаемые этим читателем (например, размер рендеринга источника или настройки, специфичные для формата), они будут проигнорированы.
- Parameters:
-
params- объект, содержащий объектыIterator. - Returns:
- объект, представляющий содержимое входного источника в виде объектов
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(). Подклассы должны переопределять этот метод, если возможно, чтобы избежать принудительного чтения миниатюры.
- Parameters:
-
imageIndex- индекс извлекаемого изображения. -
thumbnailIndex- индекс извлекаемой миниатюры. - Returns:
- ширина желаемой миниатюры в виде
int. - Throws:
-
UnsupportedOperationException- если миниатюры не поддерживаются. -
IllegalStateException- если исходный источник не задан. -
IndexOutOfBoundsException- если любой из предоставленных индексов находится вне допустимого диапазона. -
IOException- если при чтении произошла ошибка.
getThumbnailHeight
public int getThumbnailHeight(int imageIndex, int thumbnailIndex) throws IOException
thumbnailIndex, связанного с изображением с индексом ImageIndex. Если чтец не поддерживает миниатюры, (readerSupportsThumbnails возвращает false), будет выброшено исключение UnsupportedOperationException.
Реализация по умолчанию просто возвращает readThumbnail(imageindex, thumbnailIndex).getHeight(). Подклассы должны переопределять этот метод, если возможно, чтобы избежать принудительного чтения миниатюры.
- Parameters:
-
imageIndex- индекс извлекаемого изображения. -
thumbnailIndex- индекс извлекаемой миниатюры. - Returns:
- высота желаемой миниатюры в виде
int. - Throws:
-
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.
- Parameters:
-
imageIndex- индекс извлекаемого изображения. -
thumbnailIndex- индекс извлекаемой миниатюры. - Returns:
- желаемую миниатюру в виде
BufferedImage. - Throws:
-
UnsupportedOperationException- если миниатюры не поддерживаются. -
IllegalStateException- если исходный источник не задан. -
IndexOutOfBoundsException- если любой из предоставленных индексов находится вне допустимого диапазона. -
IOException- если при чтении произошла ошибка.
abort
public void abort()
Чтецы должны вызывать clearAbortRequest в начале каждой операции чтения и периодически проверять значение abortRequested во время чтения.
abortRequested
protected boolean abortRequested()
true, если запрос на прерывание текущей операции чтения был сделан после создания объекта или после вызова clearAbortRequest. - Returns:
-
trueесли текущую операцию чтения следует прервать. - See Also:
clearAbortRequest
protected void clearAbortRequest()
abortRequested вернёт false. - See Also:
addIIOReadWarningListener
public void addIIOReadWarningListener(IIOReadWarningListener listener)
IIOReadWarningListener в список зарегистрированных слушателей. Если listener равно null, исключение не будет выброшено, и никаких действий не будет выполнено. Сообщения, отправленные данному слушателю, будут локализованы, если возможно, чтобы соответствовать текущему Locale. Если не установлен Locale, сообщения об ошибках могут быть локализованы по усмотрению читателя.- Parameters:
-
listener- регистрируемый слушатель предупрежденийIIOReadWarningListener. - See Also:
removeIIOReadWarningListener
public void removeIIOReadWarningListener(IIOReadWarningListener listener)
IIOReadWarningListener из списка зарегистрированных слушателей. Если слушатель не был зарегистрирован ранее, или если listener равно null, исключение не будет выброшено, и никаких действий не будет выполнено.- Parameters:
-
listener- слушатель предупрежденийIIOReadWarningListenerдля отмены регистрации. - See Also:
removeAllIIOReadWarningListeners
public void removeAllIIOReadWarningListeners()
IIOReadWarningListener. Реализация по умолчанию устанавливает переменные warningListeners и warningLocales в null.
addIIOReadProgressListener
public void addIIOReadProgressListener(IIOReadProgressListener listener)
IIOReadProgressListener в список зарегистрированных слушателей. Если listener равно null, исключение не будет выброшено, и никаких действий не будет выполнено.- Parameters:
-
listener- регистрируемый слушатель прогрессаIIOReadProgressListener. - See Also:
removeIIOReadProgressListener
public void removeIIOReadProgressListener(IIOReadProgressListener listener)
IIOReadProgressListener из списка зарегистрированных слушателей. Если слушатель не был зарегистрирован ранее, или если listener равно null, исключение не будет выброшено, и никаких действий не будет выполнено.- Parameters:
-
listener- слушатель прогрессаIIOReadProgressListenerдля отмены регистрации. - See Also:
removeAllIIOReadProgressListeners
public void removeAllIIOReadProgressListeners()
IIOReadProgressListener. Реализация по умолчанию устанавливает переменную progressListeners в null.
addIIOReadUpdateListener
public void addIIOReadUpdateListener(IIOReadUpdateListener listener)
IIOReadUpdateListener в список зарегистрированных слушателей. Если listener равно null, исключение не будет выброшено, и никаких действий не будет выполнено. Слушатель будет получать уведомления об обновлениях пикселей по мере декодирования изображений и миниатюр, включая начало и конец проходов прогрессивного декодирования. Если слушателей обновлений нет, чтец может выполнить меньше обновлений пикселей целевых изображений и/или миниатюр, что может привести к более эффективному декодированию.
Например, при прогрессивном декодировании JPEG каждый проход содержит обновления набора коэффициентов, которые должны быть преобразованы в значения пикселей и преобразованы в цветовое пространство RGB для каждого прохода, если присутствуют слушатели. Если слушатели отсутствуют, коэффициенты могут быть просто суммированы, а окончательные результаты преобразованы и преобразованы в цвет только один раз.
Конечные результаты декодирования будут одинаковыми, независимо от того, выполняются ли промежуточные обновления. Таким образом, если требуется только конечное изображение, может быть предпочтительнее не регистрировать никаких слушателей обновлений. В общем случае прогрессивное обновление наиболее эффективно при получении изображений по сетевому соединению, которое очень медленное по сравнению с локальной обработкой ЦП; по быстрому соединению прогрессивные обновления могут фактически замедлить отображение изображения.
- 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. Подклассы могут использовать этот метод для удобства.- Parameters:
-
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. Подклассы могут использовать этот метод для удобства.- Parameters:
-
theThumbnail- обновляемаяBufferedImageминиатюра. -
minX- координата X левого верхнего пикселя, включенного в проход. -
minY- координата X левого верхнего пикселя, включенного в проход. -
width- общая ширина обновляемой области, включая пропускаемые пиксели, еслиperiodX > 1. -
height- общая высота обновляемой области, включая пропускаемые пиксели, еслиperiodY > 1. -
periodX- горизонтальное расстояние между пикселями. -
periodY- вертикальное расстояние между пикселями. -
bands- массивint, указывающий на набор затронутых каналов назначения.
processThumbnailPassComplete
protected void processThumbnailPassComplete(BufferedImage theThumbnail)
IIOReadUpdateListener путём вызова их метода thumbnailPassComplete. Подклассы могут использовать этот метод для удобства.- Parameters:
-
theThumbnail- обновляемаяBufferedImageминиатюра.
processWarningOccurred
protected void processWarningOccurred(String warning)
IIOReadWarningListener вызывая их метод warningOccurred. Подклассы могут использовать этот метод для удобства.- Parameters:
-
warning- сообщение об ошибке для отправки. - Throws:
-
IllegalArgumentException- еслиwarningявляетсяnull.
processWarningOccurred
protected void processWarningOccurred(String baseName, String keyword)
IIOReadWarningListener вызывая их метод warningOccurred со строкой, взятой из ResourceBundle. Подклассы могут использовать этот метод для удобства.- Parameters:
-
baseName- базовое имя набораResourceBundleсодержащих локализованные сообщения об ошибках. -
keyword- ключевое слово для индексирования сообщения об ошибке в набореResourceBundle. - Throws:
-
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 выполняет все необходимые обрезки.- Parameters:
-
param- используемыйImageReadParam, илиnull. -
srcWidth- ширина исходного изображения. -
srcHeight- высота исходного изображения. - Returns:
- область исходного изображения в виде
Rectangle.
computeRegions
protected static void computeRegions(ImageReadParam param, int srcWidth, int srcHeight, BufferedImage image, Rectangle srcRegion, Rectangle destRegion)
ImageReadParam. Область исходного изображения начинается с всего исходного изображения. Затем она обрезается до области исходного изображения, указанной в ImageReadParam, если она указана. Если какой-либо из смещений назначения отрицательны, область исходного изображения обрезается так, чтобы ее верхний левый угол совпадал с верхним левым углом целевого изображения, учитывая субдискретизацию. Затем результат обрезается до целевого изображения справа и снизу, если оно указано, учитывая субдискретизацию и смещения назначения.
Аналогично, область назначения начинается с исходного изображения, перемещается к смещению назначения, указанному в ImageReadParam если оно есть, и, наконец, обрезается до целевого изображения, если оно есть.
Если область исходного или целевого изображения оказывается с шириной или высотой 0, выбрасывается IllegalArgumentException.
Метод getSourceRegion> может использоваться, если нужно только обрезать исходную область.
- Parameters:
-
param-ImageReadParam, илиnull. -
srcWidth- ширина исходного изображения. -
srcHeight- высота исходного изображения. -
image-BufferedImageкоторое будет целевым изображением, илиnull. -
srcRegion-Rectangleкоторое будет заполнено областью исходного изображения. -
destRegion-Rectangleкоторое будет заполнено областью целевого изображения. - Throws:
-
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; успех приведет к тому, что метод вернет результат молча.
- Parameters:
-
param- используемыйImageReadParamдля чтения изображения. -
numSrcBands- количество каналов изображения, как оно существует в исходном потоке. -
numDstBands- количество каналов в целевом изображении, которое записывается. - Throws:
-
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.
- Parameters:
-
param-ImageReadParamдля получения целевого изображения или типа изображения, илиnull. -
imageTypes-IteratorImageTypeSpecifierуказывающий на допустимые типы изображений, с первым по умолчанию. -
width- истинная ширина декодируемого изображения или плитки. -
height- истинная высота декодируемого изображения или плитки. - Returns:
BufferedImageдля записи декодированных данных пикселей.- Throws:
-
IIOException- еслиImageTypeSpecifierуказанныйparamне совпадает ни с одним из допустимых значений изimageTypes. -
IllegalArgumentException- еслиimageTypesявляетсяnullили пустым, или если из него извлекается объект, не являющийсяImageTypeSpecifier. -
IllegalArgumentException- если полученное изображение будет иметь ширину или высоту меньше 1. -
IllegalArgumentException- если произведениеwidthиheightбольшеInteger.MAX_VALUE.
© 1993, 2021, 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://docs.oracle.com/en/java/javase/17/docs/api/java.desktop/javax/imageio/ImageReader.html