Класс 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 |
Список текущих зарегистрированных IIOReadProgressListeners, инициализирован по умолчанию null, что эквивалентно пустому List. |
protected boolean |
seekForwardOnly |
true если текущий источник ввода был помечен как позволяющий только поиск вперёд setInput. |
protected List |
updateListeners |
Список текущих зарегистрированных IIOReadUpdateListeners, инициализирован по умолчанию null, что эквивалентно пустому List. |
protected List |
warningListeners |
Список текущих зарегистрированных IIOReadWarningListeners, инициализирован по умолчанию null, что эквивалентно пустому List. |
protected List |
warningLocales |
Список Locale связанных с каждым текущим зарегистрированным IIOReadWarningListener, инициализирован по умолчанию null, что эквивалентно пустому List. |
Краткое описание конструкторов
| Модификатор | Конструктор | Описание |
|---|---|---|
protected |
Создаёт ImageReader и устанавливает его поле originatingProvider в указанное значение. |
Краткое описание методов
| Modifier and Type | Method | Description |
|---|---|---|
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.input
protected Object input
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
protected Locale locale
warningListeners
protected List<IIOReadWarningListener> warningListeners
null, что эквивалентно пустому списку.warningLocales
protected List<Locale> warningLocales
null, что эквивалентно пустому списку.progressListeners
protected List<IIOReadProgressListener> progressListeners
null, что эквивалентно пустому списку.updateListeners
protected List<IIOReadUpdateListener> updateListeners
null, что эквивалентно пустому списку.Подробное описание конструкторов
ImageReader
protected ImageReader(ImageReaderSpi originatingProvider)
Подклассы, использующие расширения, должны предоставить конструктор с сигнатурой (ImageReaderSpi,Object) для получения объекта расширения. Если объект расширения неприемлем, должно быть брошено исключение IllegalArgumentException.
- Параметры:
-
originatingProvider- объектImageReaderSpi, вызвавший этот конструктор, или null.
Подробное описание методов
getFormatName
public String getFormatName() throws IOException
По умолчанию возвращает originatingProvider.getFormatNames()[0]. Реализации, у которых нет поставщика услуг, или которые хотят использовать другую политику именования, должны переопределить этот метод.
- Возвращает:
- имя формата в виде строки.
- Исключения:
-
IOException- если произошла ошибка при чтении информации из входного источника.
getOriginatingProvider
public ImageReaderSpi getOriginatingProvider()
- Возвращает:
- объект поставщика услуг или 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- входной источник или другой объект, используемый для будущего декодирования. -
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.
- 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:
- количество изображений, как целое число, или
-1еслиallowSearchравноfalseи поиск был бы необходим. - Throws:
-
IllegalStateException- если источник ввода не был установлен, или если вход был указан сseekForwardOnlyравнымtrue. -
IOException- если при чтении информации из источника ввода произошла ошибка. - See Also:
getWidth
public abstract int getWidth(int imageIndex) throws IOException
Если изображение может быть отображено с заданным пользователем размером, то этот метод возвращает ширину по умолчанию.
- Parameters:
-
imageIndex- индекс изображения, для которого запрашивается ширина. - Returns:
- ширина изображения в пикселях.
- Throws:
-
IllegalStateException- если источник ввода не был установлен. -
IndexOutOfBoundsException- если переданный индекс вне диапазона. -
IOException- если при чтении информации о ширине из источника ввода произошла ошибка.
getHeight
public abstract int getHeight(int imageIndex) throws IOException
Если изображение может быть отображено с заданным пользователем размером, то этот метод возвращает высоту по умолчанию.
- Parameters:
-
imageIndex- индекс изображения, для которого запрашивается высота. - Returns:
- высота изображения в пикселях.
- 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- aSetсодержащий имена узлов, которые могут содержаться в полученном документе. - 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 содержит значения необязательных настроек, не поддерживаемых этим чтецом (например, размер рендеринга источника или любые параметры, специфичные для формата), они будут проигнорированы.
- Parameters:
-
imageIndex- индекс изображения для получения. -
param- объектImageReadParam, используемый для управления процессом чтения, илиnull. - Returns:
- требуемая часть изображения в виде
BufferedImage. - Throws:
-
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 содержит значения необязательных настроек, не поддерживаемых этим чтецом (например, размер рендеринга источника или любые параметры, специфичные для формата), эти значения будут проигнорированы.
- Parameters:
-
imageIndex- индекс изображения для получения. -
param- объектImageReadParam, используемый для управления процессом чтения, илиnull. - Returns:
- объект
IIOImage, содержащий требуемую часть изображения, набор миниатюр и связанные метаданные изображения. - Throws:
-
IllegalStateException- если исходный источник не установлен. -
IndexOutOfBoundsException- если переданный индекс находится вне допустимого диапазона. -
IllegalArgumentException- если набор исходных и целевых полос, указанныйparam.getSourceBandsиparam.getDestinationBands, отличается по длине или содержит индексы, которые находятся вне допустимого диапазона. -
IllegalArgumentException- если получаемое изображение будет иметь ширину или высоту меньше 1. -
IOException- если при чтении произошла ошибка.
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- anIteratorсодержащийImageReadParamобъекты. - Returns:
- an
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), должны переопределить этот метод.
- Параметры:
-
imageIndex- индекс изображения, которое нужно запросить. - Возвращает:
- смещение сетки тайлов по оси X.
- Исключение:
-
IllegalStateException- если для определения возвращаемого значения требуется источник ввода, но он не задан. -
IndexOutOfBoundsException- если для определения возвращаемого значения необходимо получить доступ к изображению, но указанный индекс находится вне границ. -
IOException- если при чтении произошла ошибка.
getTileGridYOffset
public int getTileGridYOffset(int imageIndex) throws IOException
Чтение, для которого смещение сетки тайлов всегда имеет одно и то же значение (обычно 0), может вернуть это значение без доступа к данным изображения. В таких случаях не обязательно выбрасывать исключение, даже если источник ввода не задан или индекс изображения находится вне границ.
Стандартная реализация просто возвращает 0, что верно для неразбитых изображений и разбитых изображений в большинстве форматов. Читатели, поддерживающие разбивку с смещениями, отличными от (0, 0), должны переопределить этот метод.
- Параметры:
-
imageIndex- индекс изображения, которое нужно запросить. - Возвращает:
- смещение сетки тайлов по оси Y.
- Исключение:
-
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 в противном случае.
- Параметры:
-
imageIndex- индекс изображения для извлечения. -
tileX- индекс столбца (начинается с 0) тайла для извлечения. -
tileY- индекс строки (начинается с 0) тайла для извлечения. - Возвращает:
- тайл как
BufferedImage. - Исключение:
-
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 в противном случае.
- Параметры:
-
imageIndex- индекс изображения для извлечения. -
tileX- индекс столбца (начинается с 0) тайла для извлечения. -
tileY- индекс строки (начинается с 0) тайла для извлечения. - Возвращает:
- тайл как
Raster. - Исключение:
-
UnsupportedOperationException- если этот плагин не поддерживает чтение сырыхRaster. -
IllegalArgumentException- если индексы тайлов находятся вне границ. -
IllegalStateException- если источник ввода не задан. -
IndexOutOfBoundsException- еслиimageIndexнаходится вне границ. -
IOException- если при чтении произошла ошибка. - См. также:
readAsRenderedImage
public RenderedImage readAsRenderedImage(int imageIndex, ImageReadParam param) throws IOException
RenderedImage , который содержит содержимое изображения с индексом imageIndex. По умолчанию возвращаемое изображение просто BufferedImage , возвращаемое read(imageIndex, param). Семантика этого метода может отличаться от семантики других методов read несколькими способами. Во-первых, любые изображение назначения и/или тип изображения, установленные в ImageReadParam , могут быть проигнорированы. Во-вторых, обычные вызовы слушателей не гарантируются или могут быть бессмысленны, если они произойдут. Это связано с тем, что возвращаемое изображение может не быть полностью заполнено данными пикселей в момент возвращения, или в любой момент.
Если предоставленный ImageReadParam содержит необязательные значения настроек, не поддерживаемые этим читателем (например, размер рендеринга источника или параметры, специфичные для формата), они будут проигнорированы.
Стандартная реализация просто вызывает read(imageIndex, param).
- Параметры:
-
imageIndex- индекс изображения для извлечения. -
param-ImageReadParamдля управления процессом чтения илиnull. - Возвращает:
- объект
RenderedImage, предоставляющий представление изображения. - Исключение:
-
IllegalStateException- если источник ввода не задан. -
IndexOutOfBoundsException- если предоставленный индекс находится вне границ. -
IllegalArgumentException- если набор полос источника и назначения, указанный вparam.getSourceBandsиparam.getDestinationBands, отличается по длине или включает индексы, которые находятся вне границ. -
IllegalArgumentException- если получаемое изображение будет иметь ширину или высоту меньше 1. -
IOException- если при чтении произошла ошибка.
readerSupportsThumbnails
public boolean readerSupportsThumbnails()
true , если формат изображения, понимаемый этим читателем, поддерживает миниатюры, предварительные изображения, связанные с ним. Стандартная реализация возвращает false. Если этот метод возвращает false, hasThumbnails и getNumThumbnails вернут false и 0, соответственно, а readThumbnail выбросит UnsupportedOperationException, независимо от их аргументов.
Читатель, не поддерживающий миниатюры, не обязан реализовывать ни один из методов, связанных с миниатюрами.
- Возвращает:
-
trueесли миниатюры поддерживаются.
hasThumbnails
public boolean hasThumbnails(int imageIndex) throws IOException
true , если у данного изображения есть предварительные изображения миниатюр, связанные с ним. Если формат не поддерживает миниатюры (readerSupportsThumbnails возвращает false), false будет возвращено независимо от того, установлен ли источник ввода или imageIndex находится в пределах границ. Стандартная реализация возвращает true , если getNumThumbnails возвращает значение больше 0.
- Параметры:
-
imageIndex- индекс запрошенного изображения. - Возвращает:
-
trueесли у данного изображения есть миниатюры. - Исключение:
-
IllegalStateException- если читатель поддерживает миниатюры, но источник ввода не задан. -
IndexOutOfBoundsException- если читатель поддерживает миниатюры, ноimageIndexнаходится вне границ. -
IOException- если при чтении произошла ошибка.
getNumThumbnails
public int getNumThumbnails(int imageIndex) throws IOException
readerSupportsThumbnails возвращает false), 0 будет возвращено независимо от того, установлен ли источник ввода или imageIndex находится в пределах границ. Стандартная реализация возвращает 0 без проверки своего аргумента.
- Параметры:
-
imageIndex- индекс запрошенного изображения. - Возвращает:
- количество миниатюр, связанных с данным изображением.
- Исключение:
-
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 для каждого прохода, если обработчики присутствуют. Если обработчики отсутствуют, коэффициенты могут просто накапливаться, а окончательные результаты преобразовываться и конвертироваться в цвет один раз.
Окончательные результаты декодирования будут одинаковыми независимо от того, выполняются ли промежуточные обновления. Таким образом, если требуется только конечное изображение, может быть предпочтительнее не регистрировать никаких IIOReadUpdateListener. В целом, прогрессивное обновление наиболее эффективно при получении изображений по сетевому соединению, которое очень медленное по сравнению с локальной обработкой CPU; при быстром соединении прогрессивные обновления могут фактически замедлить отображение изображения.
- 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. Этот метод может быть вызван, как только читатель узнает количество полос исходного изображения, как оно существует в потоке ввода, и количество полос изображения назначения, которое записывается. Метод извлекает массивы настроек полос источника и назначения из параметра, используя методы 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, 2023, 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/21/docs/api/java.desktop/javax/imageio/ImageReader.html