Класс ImageReader

public abstract class ImageReader
extends Object

Абстрактный базовый класс для разбора и декодирования изображений. Этот класс должен быть расширен классами, которые считывают изображения в контексте фреймворка Java Image I/O.

ImageReader объекты обычно создаются классом интерфейса поставщика сервисов (SPI) для конкретного формата. Классы поставщиков сервисов (например, экземпляры ImageReaderSpi) регистрируются в IIORegistry, который использует их для распознавания формата и представления доступных читателей и писателей форматов.

Когда устанавливается источник ввода (с помощью метода setInput), он может быть помечен как «только для поиска вперед». Это означает, что изображения, содержащиеся в источнике ввода, будут читаться только в порядке следования, что позволяет читателю, возможно, избегать кэширования частей ввода, содержащих данные, связанные с изображениями, которые уже были прочитаны.

См. также:
ImageWriter, IIORegistry, ImageReaderSpi

Краткое описание полей

Модификатор и тип Поле Описание
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

Список текущих зарегистрированных IIOReadProgressListener по умолчанию инициализирован null, что эквивалентно пустому списку List.

protected boolean seekForwardOnly

true если текущий источник ввода был помечен как допускающий только поиск вперед setInput.

protected List<IIOReadUpdateListener> updateListeners

Список текущих зарегистрированных IIOReadUpdateListener по умолчанию инициализирован null, что эквивалентно пустому списку List.

protected List<IIOReadWarningListener> warningListeners

Список текущих зарегистрированных IIOReadWarningListener по умолчанию инициализирован null, что эквивалентно пустому списку List.

protected List<Locale> warningLocales

Список Locale связанных с каждым текущим зарегистрированным IIOReadWarningListener, по умолчанию инициализирован null, что эквивалентно пустому списку List.

Краткое описание конструкторов

Модификатор Конструктор Описание
protected ImageReader​(ImageReaderSpi originatingProvider)

Создает ImageReader и устанавливает поле originatingProvider в указанное значение.

Методы

Модификатор и тип Метод Описание
void abort()

Запрашивает прерывание любой текущей операции чтения.

protected boolean abortRequested()

Возвращает true, если с момента создания объекта ридера или вызова clearAbortRequest была сделана запрос на прерывание текущей операции чтения.

void addIIOReadProgressListener​(IIOReadProgressListener listener)

Добавляет IIOReadProgressListener в список зарегистрированных слушателей прогресса.

void addIIOReadUpdateListener​(IIOReadUpdateListener listener)

Добавляет IIOReadUpdateListener в список зарегистрированных слушателей обновлений.

void addIIOReadWarningListener​(IIOReadWarningListener listener)

Добавляет IIOReadWarningListener в список зарегистрированных слушателей предупреждений.

boolean canReadRaster()

Возвращает true, если этот плагин поддерживает чтение только Raster данных пикселей.

protected static void checkReadParamBandSettings​(ImageReadParam param, int numSrcBands, int numDstBands)

Утилитарный метод, который могут использовать ридеры для проверки валидности настроек источника и целевых полос ImageReadParam.

protected void clearAbortRequest()

Очищает предыдущий запрос на прерывание.

protected static void computeRegions​(ImageReadParam param, int srcWidth, int srcHeight, BufferedImage image, Rectangle srcRegion, Rectangle destRegion)

Вычисляет область интереса источника и область интереса назначения, учитывая ширину и высоту изображения источника, необязательное изображение назначения и необязательный ImageReadParam.

void dispose()

Разрешает освобождение всех ресурсов, удерживаемых этим объектом.

float getAspectRatio​(int imageIndex)

Возвращает коэффициент пропорциональности данного изображения (то есть его ширину, деленную на высоту) как float.

Locale[] getAvailableLocales()

Возвращает массив Locales, которые могут использоваться для локализации слушателей предупреждений и настроек сжатия.

ImageReadParam getDefaultReadParam()

Возвращает объект ImageReadParam по умолчанию, подходящий для этого формата.

protected static BufferedImage getDestination​(ImageReadParam param, Iterator<ImageTypeSpecifier> imageTypes, int width, int height)

Возвращает BufferedImage для записи декодированных данных пикселей.

String getFormatName()

Возвращает String, определяющий формат входного источника.

abstract int getHeight​(int imageIndex)

Возвращает высоту в пикселях данного изображения внутри входного источника.

abstract IIOMetadata getImageMetadata​(int imageIndex)

Возвращает объект IIOMetadata, содержащий метаданные, связанные с данным изображением, или null, если ридер не поддерживает чтение метаданных, настроен на игнорирование метаданных или если метаданные недоступны.

IIOMetadata getImageMetadata​(int imageIndex, String formatName, Set<String> nodeNames)

Возвращает объект IIOMetadata , представляющий метаданные, связанные с заданным изображением, или null если ридер не поддерживает чтение метаданных или они отсутствуют.

abstract Iterator<ImageTypeSpecifier> getImageTypes​(int imageIndex)

Возвращает Iterator , содержащий возможные типы изображений, в которых может быть декодировано заданное изображение, в виде ImageTypeSpecifiers.

Object getInput()

Возвращает ImageInputStream или другой Object , установленный ранее в качестве входного источника.

Locale getLocale()

Возвращает текущую установленную Locale, или null если она не была установлена.

int getMinIndex()

Возвращает наименьший допустимый индекс для чтения изображения, миниатюры или метаданных изображения.

abstract int getNumImages​(boolean allowSearch)

Возвращает количество изображений, не включая миниатюры, доступных из текущего входного источника.

int getNumThumbnails​(int imageIndex)

Возвращает количество миниатюрных предварительных просмотров изображений, связанных с данным изображением.

ImageReaderSpi getOriginatingProvider()

Возвращает ImageReaderSpi , переданный при создании конструктора.

ImageTypeSpecifier getRawImageType​(int imageIndex)

Возвращает ImageTypeSpecifier , указывающий на SampleModel и ColorModel, которые наиболее точно представляют «сырой» внутренний формат изображения.

protected static Rectangle getSourceRegion​(ImageReadParam param, int srcWidth, int srcHeight)

Утилитарный метод, который могут использовать ридеры для вычисления области изображения источника, которая должна быть прочитана, принимая во внимание любые настройки области источника и смещения подвыборки в предоставленном ImageReadParam.

abstract IIOMetadata getStreamMetadata()

Возвращает объект IIOMetadata, представляющий метаданные, связанные с входным источником в целом (т. е. не связанные ни с каким конкретным изображением), или null , если ридер не поддерживает чтение метаданных, настроен на игнорирование метаданных или если метаданные недоступны.

IIOMetadata getStreamMetadata​(String formatName, Set<String> nodeNames)

Возвращает объект IIOMetadata , представляющий метаданные, связанные с входным источником в целом (т. е. не связанные ни с каким конкретным изображением).

int getThumbnailHeight​(int imageIndex, int thumbnailIndex)

Возвращает высоту миниатюрного предварительного просмотра изображения с индексом thumbnailIndex, связанного с изображением с индексом ImageIndex.

int getThumbnailWidth​(int imageIndex, int thumbnailIndex)

Возвращает ширину миниатюрного предварительного просмотра изображения с индексом thumbnailIndex, связанного с изображением с индексом ImageIndex.

int getTileGridXOffset​(int imageIndex)

Возвращает координату X левого верхнего угла тайла (0, 0) в данном изображении.

int getTileGridYOffset​(int imageIndex)

Возвращает координату Y левого верхнего угла тайла (0, 0) в данном изображении.

int getTileHeight​(int imageIndex)

Возвращает высоту тайла в данном изображении.

int getTileWidth​(int imageIndex)

Возвращает ширину тайла в данном изображении.

abstract int getWidth​(int imageIndex)

Возвращает ширину в пикселях данного изображения внутри входного источника.

boolean hasThumbnails​(int imageIndex)

Возвращает true, если у данного изображения есть связанные с ним миниатюры предварительных просмотров.

boolean isIgnoringMetadata()

Возвращает true если текущий входной источник был помечен как разрешающий игнорирование метаданных путем передачи true в качестве ignoreMetadata аргумента методу setInput.

boolean isImageTiled​(int imageIndex)

Возвращает true , если изображение организовано в плитки, то есть равные по размеру неперекрывающиеся прямоугольники.

boolean isRandomAccessEasy​(int imageIndex)

Возвращает true если формат хранения данного изображения не накладывает каких-либо препятствий на произвольный доступ к пикселям.

boolean isSeekForwardOnly()

Возвращает true , если текущий входной источник помечен как поддерживающий только поиск вперед путем передачи true в качестве seekForwardOnly аргумента методу setInput.

protected void processImageComplete()

Распространяет завершение чтения изображения всем зарегистрированным IIOReadProgressListener , вызывая их метод imageComplete.

protected void processImageProgress​(float percentageDone)

Распространяет текущий процент завершения чтения изображения всем зарегистрированным IIOReadProgressListener , вызывая их метод imageProgress.

protected void processImageStarted​(int imageIndex)

Распространяет начало чтения изображения всем зарегистрированным IIOReadProgressListener , вызывая их метод imageStarted.

protected void processImageUpdate​(BufferedImage theImage, int minX, int minY, int width, int height, int periodX, int periodY, int[] bands)

Распространяет обновление набора образцов всем зарегистрированным IIOReadUpdateListener , вызывая их метод imageUpdate.

protected void processPassComplete​(BufferedImage theImage)

Распространяет завершение прогрессивного прохода всем зарегистрированным IIOReadUpdateListener , вызывая их метод passComplete.

protected void processPassStarted​(BufferedImage theImage, int pass, int minPass, int maxPass, int minX, int minY, int periodX, int periodY, int[] bands)

Распространяет начало прогрессивного прохода всем зарегистрированным IIOReadUpdateListener , вызывая их метод passStarted.

protected void processReadAborted()

Транслирует, что чтение было прервано, всем зарегистрированным IIOReadProgressListener вызвав их метод readAborted.

protected void processSequenceComplete()

Транслирует завершение последовательности чтения изображений всем зарегистрированным IIOReadProgressListener вызвав их метод sequenceComplete.

protected void processSequenceStarted​(int minIndex)

Транслирует начало последовательности чтения изображений всем зарегистрированным IIOReadProgressListener вызвав их метод sequenceStarted.

protected void processThumbnailComplete()

Транслирует завершение чтения миниатюры всем зарегистрированным IIOReadProgressListener вызвав их метод thumbnailComplete.

protected void processThumbnailPassComplete​(BufferedImage theThumbnail)

Транслирует окончание прогрессивного прохода миниатюры всем зарегистрированным IIOReadUpdateListener вызвав их метод thumbnailPassComplete.

protected void processThumbnailPassStarted​(BufferedImage theThumbnail, int pass, int minPass, int maxPass, int minX, int minY, int periodX, int periodY, int[] bands)

Транслирует начало прогрессивного прохода миниатюры всем зарегистрированным IIOReadUpdateListener вызвав их метод thumbnailPassStarted.

protected void processThumbnailProgress​(float percentageDone)

Транслирует текущий процент завершения миниатюры всем зарегистрированным IIOReadProgressListener вызвав их метод thumbnailProgress.

protected void processThumbnailStarted​(int imageIndex, int thumbnailIndex)

Транслирует начало чтения миниатюры всем зарегистрированным IIOReadProgressListener вызвав их метод thumbnailStarted.

protected void processThumbnailUpdate​(BufferedImage theThumbnail, int minX, int minY, int width, int height, int periodX, int periodY, int[] bands)

Транслирует обновление набора образцов в изображении миниатюры всем зарегистрированным IIOReadUpdateListener вызвав их метод thumbnailUpdate.

protected void processWarningOccurred​(String warning)

Транслирует сообщение об ошибке всем зарегистрированным IIOReadWarningListener вызвав их метод warningOccurred.

protected void processWarningOccurred​(String baseName, String keyword)

Транслирует локализованное сообщение об ошибке всем зарегистрированным IIOReadWarningListener вызвав их метод warningOccurred со строкой, взятой из ResourceBundle.

BufferedImage read​(int imageIndex)

Читает изображение с индексом imageIndex и возвращает его как полное BufferedImage, используя стандартный ImageReadParam.

abstract BufferedImage read​(int imageIndex, ImageReadParam param)

Читает изображение с индексом imageIndex и возвращает его как полное BufferedImage, используя предоставленный ImageReadParam.

IIOImage readAll​(int imageIndex, ImageReadParam param)

Читает изображение с индексом imageIndex и возвращает IIOImage содержащий изображение, миниатюры и связанные данные об изображении, используя предоставленный ImageReadParam.

Iterator<IIOImage> readAll​(Iterator<? extends ImageReadParam> params)

Возвращает Iterator содержащий все изображения, миниатюры и метаданные, начиная с индекса, указанного в getMinIndex, из входного источника в виде объектов IIOImage.

RenderedImage readAsRenderedImage​(int imageIndex, ImageReadParam param)

Возвращает объект RenderedImage, содержащий содержимое изображения с индексом imageIndex.

boolean readerSupportsThumbnails()

Возвращает true, если формат изображения, поддерживаемый этим читателем, поддерживает предварительные миниатюры, связанные с ним.

Raster readRaster​(int imageIndex, ImageReadParam param)

Возвращает новый объект Raster, содержащий данные сырых пикселей из потока изображения без применения преобразования цвета.

BufferedImage readThumbnail​(int imageIndex, int thumbnailIndex)

Возвращает изображение миниатюры с индексом thumbnailIndex, связанное с изображением с индексом ImageIndex как BufferedImage.

BufferedImage readTile​(int imageIndex, int tileX, int tileY)

Читает плитку, указанную аргументами tileX и tileY, и возвращает её как BufferedImage.

Raster readTileRaster​(int imageIndex, int tileX, int tileY)

Возвращает новый объект Raster, содержащий данные сырых пикселей из плитки без применения преобразования цвета.

void removeAllIIOReadProgressListeners()

Удаляет все текущие зарегистрированные объекты IIOReadProgressListener.

void removeAllIIOReadUpdateListeners()

Удаляет все текущие зарегистрированные объекты IIOReadUpdateListener.

void removeAllIIOReadWarningListeners()

Удаляет все текущие зарегистрированные объекты IIOReadWarningListener.

void removeIIOReadProgressListener​(IIOReadProgressListener listener)

Удаляет IIOReadProgressListener из списка зарегистрированных слушателей прогресса.

void removeIIOReadUpdateListener​(IIOReadUpdateListener listener)

Удаляет IIOReadUpdateListener из списка зарегистрированных слушателей обновлений.

void removeIIOReadWarningListener​(IIOReadWarningListener listener)

Удаляет IIOReadWarningListener из списка зарегистрированных слушателей ошибок.

void reset()

Восстанавливает ImageReader в исходное состояние.

void setInput​(Object input)

Устанавливает используемый входной источник на указанный ImageInputStream или другой Object.

void setInput​(Object input, boolean seekForwardOnly)

Устанавливает используемый входной источник на указанный ImageInputStream или другой Object.

void setInput​(Object input, boolean seekForwardOnly, boolean ignoreMetadata)

Устанавливает используемый входной источник на указанный ImageInputStream или другой Object.

void setLocale​(Locale locale)

Устанавливает текущее значение Locale этого ImageReader на заданное значение.

Методы, объявленные в классе java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Поля

originatingProvider

protected ImageReaderSpi originatingProvider

Объект, который инициализировал этот объект, или null если его идентичность неизвестна или он отсутствует. По умолчанию инициализируется значением null.

input

protected Object input

Входной ImageInputStream или другой Object полученный от setInput и извлечённый getInput. По умолчанию инициализируется значением null.

seekForwardOnly

protected boolean seekForwardOnly

Указывает, если текущий источник ввода помечен как разрешающий только поиск вперёд по setInput. По умолчанию значение false.

См. также:
minIndex, setInput(java.lang.Object, boolean, boolean)

ignoreMetadata

protected boolean ignoreMetadata

Указывает, если текущий источник ввода помечен как разрешающий игнорирование метаданных по setInput. По умолчанию значение false.

См. также:
setInput(java.lang.Object, boolean, boolean)

minIndex

protected int minIndex

Наименьший допустимый индекс для чтения, изначально 0. Когда seekForwardOnly имеет значение true, различные методы могут вызывать IndexOutOfBoundsException при попытке доступа к данным, связанным с изображением, имеющим меньший индекс.

См. также:
seekForwardOnly, setInput(java.lang.Object, boolean, boolean)

availableLocales

protected Locale[] availableLocales

Массив Locale которые могут быть использованы для локализации сообщений об ошибках, или null если локализация не поддерживается.

locale

protected Locale locale

Текущий Locale для локализации, или null если он не установлен.

warningListeners

protected List<IIOReadWarningListener> warningListeners

Список зарегистрированных IIOReadWarningListener , по умолчанию инициализирован null, что эквивалентно пустому списку.

warningLocales

protected List<Locale> warningLocales

Список Locale связанных с каждым зарегистрированным IIOReadWarningListener, по умолчанию инициализирован null, что эквивалентно пустому списку.

progressListeners

protected List<IIOReadProgressListener> progressListeners

Список зарегистрированных IIOReadProgressListener , по умолчанию инициализирован null, что эквивалентно пустому списку.

updateListeners

protected List<IIOReadUpdateListener> updateListeners

Список зарегистрированных IIOReadUpdateListener , по умолчанию инициализирован null, что эквивалентно пустому списку.

Конструкторы

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.
См. также:
ImageReaderSpi

setInput

public void setInput(Object input,
                     boolean seekForwardOnly,
                     boolean ignoreMetadata)

Устанавливает входной источник, который будет использоваться для данного ImageInputStream или другого Object. Входной источник должен быть установлен перед использованием любых методов запроса или чтения. Если input равно null, любой текущий установленный входной источник будет удален. В любом случае значение minIndex будет инициализировано значением 0.

Параметр seekForwardOnly управляет тем, будет ли значение, возвращаемое getMinIndex, увеличиваться при чтении каждого изображения (или миниатюры, или метаданных изображения). Если seekForwardOnly равно true, то вызов read(index) выбросит IndexOutOfBoundsException если index < this.minIndex; в противном случае значение minIndex будет установлено в index Если seekForwardOnly равно false, значение minIndex останется 0 независимо от операций чтения.

Параметр ignoreMetadata, если установлен в true, позволяет читателю игнорировать любые метаданные, встреченные во время чтения. Последующие вызовы методов getStreamMetadata и getImageMetadata могут возвращать null, а readAll возвращаемое значение из readAll может возвращать null из своего метода getMetadata. Установка этого параметра может позволить читателю работать более эффективно. Читатель может выбрать игнорировать это значение и возвращать метаданные обычно.

Подклассы должны позаботиться об удалении кэшированной информации на основе предыдущего потока, такой как информация заголовка или частично декодированные данные изображения.

Использование общего Object вместо ImageInputStream предназначено для читателей, которые взаимодействуют напрямую с устройством захвата или протоколом формирования изображений. Набор допустимых классов объявляется методом getInputTypes поставщика услуг читателя; большинство читателей вернут массив с одним элементом, содержащим только ImageInputStream.class для указания того, что они принимают только ImageInputStream.

Реализация по умолчанию проверяет аргумент input по списку, возвращаемому originatingProvider.getInputTypes(), и отклоняет, если аргумент не является экземпляром одного из классов в списке. Если исходный поставщик установлен на null, входной параметр принимается только в том случае, если он является ImageInputStream.

Параметры:
input - ImageInputStream или другой Object для дальнейшего декодирования.
seekForwardOnly - если true, изображения и метаданные могут быть прочитаны только в возрастающем порядке из этого входного источника.
ignoreMetadata - если true, метаданные могут быть проигнорированы во время чтения.
Исключения:
IllegalArgumentException - если input не является экземпляром одного из классов, возвращенных методом getInputTypes исходного поставщика услуг, или не является ImageInputStream.
См. также:
ImageInputStream, getInput(), ImageReaderSpi.getInputTypes()

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).

Параметры:
input - ImageInputStream или другой Object для дальнейшего декодирования.
seekForwardOnly - если true, изображения и метаданные могут быть прочитаны только в возрастающем порядке из этого входного источника.
Исключения:
IllegalArgumentException - если input не является экземпляром одного из классов, возвращенных методом getInputTypes исходного поставщика услуг, или не является ImageInputStream.
См. также:
getInput()

setInput

public void setInput(Object input)

Устанавливает входной источник, который будет использоваться для данного ImageInputStream или другого Object. Входной источник должен быть установлен перед использованием любых методов запроса или чтения. Если input равно null, любой текущий установленный входной источник будет удален. В любом случае значение minIndex будет инициализировано значением 0.

Этот метод эквивалентен setInput(input, false, false).

Параметры:
input - ImageInputStream или другой Object для дальнейшего декодирования.
Исключения:
IllegalArgumentException - если input не является экземпляром одного из классов, возвращенных методом getInputTypes исходного поставщика услуг, или не является ImageInputStream.
См. также:
getInput()

getInput

public Object getInput()

Возвращает ImageInputStream или другой Object, ранее установленный в качестве входного источника. Если входной источник не был установлен, возвращается null.

Возвращает:
входной Object, который будет использоваться для дальнейшего декодирования, или null.
См. также:
ImageInputStream, setInput(java.lang.Object, boolean, boolean)

isSeekForwardOnly

public boolean isSeekForwardOnly()

Возвращает true если текущий входной источник был помечен как только-вперед с помощью true в качестве seekForwardOnly аргумента в метод setInput.

Возвращает:
true если входной источник только для чтения вперед.
См. также:
setInput(java.lang.Object, boolean, boolean)

isIgnoringMetadata

public boolean isIgnoringMetadata()

Возвращает true если текущий входной источник был помечен как позволяющий игнорировать метаданные с помощью true в качестве ignoreMetadata аргумента в метод setInput.

Возвращает:
true если метаданные могут быть проигнорированы.
См. также:
setInput(java.lang.Object, boolean, boolean)

getMinIndex

public int getMinIndex()

Возвращает наименьший допустимый индекс для чтения изображения, миниатюры или метаданных изображения. Если seekForwardOnly() равно false, это значение обычно останется 0, указывая, что случайный доступ возможен. В противном случае оно будет содержать значение последнего обращенного к индексу и увеличиваться монотонно.

Возвращает:
минимальный допустимый индекс для чтения.

getAvailableLocales

public Locale[] getAvailableLocales()

Возвращает массив Locale используемых для локализации слушателей предупреждений и параметров сжатия. Возвращаемое значение null указывает, что локализация не поддерживается.

По умолчанию возвращает копию переменной-члена availableLocales если она не null, в противном случае возвращает null.

Возвращает:
массив Locale для использования в качестве аргументов в setLocale, или null.

setLocale

public void setLocale(Locale locale)

Устанавливает текущую Locale этого ImageReader на заданное значение. Значение null удаляет любое предыдущее значение и указывает, что читатель должен выполнить локализацию по своему усмотрению.

Параметры:
locale - желаемая Locale, или null.
Исключения:
IllegalArgumentException - если locale не null, но не является одним из значений, возвращенных методом getAvailableLocales.
См. также:
getLocale()

getLocale

public Locale getLocale()

Возвращает текущую Locale, или null если она не была установлена.

Возвращает:
текущая Locale, или null.
См. также:
setLocale(java.util.Locale)

getNumImages

public abstract int getNumImages(boolean allowSearch)
                          throws IOException

Возвращает количество изображений, не считая миниатюр, доступных из текущего источника ввода.

Обратите внимание, что некоторые форматы изображений (например, анимированные GIF) не указывают, сколько изображений присутствует в потоке. Таким образом, определение количества изображений потребует сканирования всего потока и может потребовать памяти для буферизации. Если изображения должны обрабатываться в порядке следования, может быть эффективнее просто вызывать read с возрастающими индексами, пока не будет брошено исключение IndexOutOfBoundsException, указывающее, что больше изображений нет. Параметр allowSearch может быть установлен в значение false, чтобы указать, что исчерпывающий поиск нежелателен; возвращаемое значение будет -1, чтобы указать, что поиск необходим. Если вход был задан со значением seekForwardOnly установленным в true, этот метод выбрасывает исключение IllegalStateException, если allowSearch установлено в значение true.

Параметры:
allowSearch - если true, истинное количество изображений будет возвращено, даже если поиск необходим. Если false, читатель может вернуть -1 без выполнения поиска.
Возвращает:
количество изображений в качестве int, или -1, если allowSearch имеет значение false и поиск был бы необходим.
Выбрасывает:
IllegalStateException - если источник ввода не задан, или если вход был задан со значением seekForwardOnly установленным в true.
IOException - если при чтении информации из источника ввода произошла ошибка.
См. также:
setInput(java.lang.Object, boolean, boolean)

getWidth

public abstract int getWidth(int imageIndex)
                      throws IOException

Возвращает ширину в пикселях заданного изображения в источнике ввода.

Если изображение можно отобразить с заданным размером пользователя, то этот метод возвращает значение по умолчанию ширины.

Параметры:
imageIndex - индекс изображения, которое необходимо запросить.
Возвращает:
ширину изображения в качестве int.
Выбрасывает:
IllegalStateException - если источник ввода не задан.
IndexOutOfBoundsException - если указанный индекс находится за пределами допустимого диапазона.
IOException - если при чтении информации о ширине из источника ввода произошла ошибка.

getHeight

public abstract int getHeight(int imageIndex)
                       throws IOException

Возвращает высоту в пикселях заданного изображения в источнике ввода.

Если изображение можно отобразить с заданным размером пользователя, то этот метод возвращает значение по умолчанию высоты.

Параметры:
imageIndex - индекс изображения, которое необходимо запросить.
Возвращает:
высоту изображения в качестве int.
Выбрасывает:
IllegalStateException - если источник ввода не задан.
IndexOutOfBoundsException - если указанный индекс находится за пределами допустимого диапазона.
IOException - если при чтении информации о высоте из источника ввода произошла ошибка.

isRandomAccessEasy

public boolean isRandomAccessEasy(int imageIndex)
                           throws IOException

Возвращает true, если формат хранения заданного изображения не накладывает внутренних ограничений на произвольный доступ к пикселям. Для большинства сжатых форматов, таких как JPEG, этот метод должен возвращать false, так как для декодирования может потребоваться большая часть изображения помимо области интереса.

Это всего лишь подсказка для программ, желающих быть эффективными; все читатели должны уметь читать произвольные области, как указано в ImageReadParam.

Обратите внимание, что форматы, возвращающие false из этого метода, тем не менее, могут позволять использование разбиения на фрагменты (например, метки перезапуска в JPEG), и произвольный доступ, вероятно, будет достаточно эффективным для фрагментов. См. isImageTiled.

Читатель, для которого все изображения гарантированно поддерживают или не поддерживают простой произвольный доступ, может возвращать true или false соответственно без доступа к данным изображения. В таких случаях не нужно выбрасывать исключение, даже если не задан источник ввода или индекс изображения находится за пределами допустимого диапазона.

Реализация по умолчанию возвращает false.

Параметры:
imageIndex - индекс изображения, которое необходимо запросить.
Возвращает:
true, если чтение области интереса заданного изображения, вероятно, будет эффективным.
Выбрасывает:
IllegalStateException - если для определения возвращаемого значения требуется источник ввода, но он не задан.
IndexOutOfBoundsException - если для определения возвращаемого значения необходимо обратиться к изображению, но указанный индекс находится за пределами допустимого диапазона.
IOException - если при чтении произошла ошибка.

getAspectRatio

public float getAspectRatio(int imageIndex)
                     throws IOException

Возвращает коэффициент пропорциональности заданного изображения (то есть его ширину, деленную на высоту) как float. Для изображений, которые изначально могут быть изменены в размере, этот метод предоставляет способ определения подходящей ширины для заданной высоты, или наоборот. Для неизменяемых в размере изображений используются истинные ширина и высота.

Реализация по умолчанию просто возвращает (float)getWidth(imageIndex)/getHeight(imageIndex).

Параметры:
imageIndex - индекс изображения, которое необходимо запросить.
Возвращает:
a float указывающий на коэффициент пропорциональности заданного изображения.
Выбрасывает:
IllegalStateException - если источник ввода не задан.
IndexOutOfBoundsException - если указанный индекс находится за пределами допустимого диапазона.
IOException - если при чтении произошла ошибка.

getRawImageType

public ImageTypeSpecifier getRawImageType(int imageIndex)
                                   throws IOException

Возвращает ImageTypeSpecifier, указывающий на SampleModel и ColorModel, которые наиболее точно представляют "сырой" внутренний формат изображения. Если точного соответствия нет, должен быть возвращен тип, сохраняющий наибольшее количество информации из изображения. Возвращаемое значение также должно быть включено в список значений, возвращаемых getImageTypes.

Реализация по умолчанию просто возвращает первый элемент из списка, предоставленного getImageType.

Параметры:
imageIndex - индекс изображения, которое необходимо запросить.
Возвращает:
a ImageTypeSpecifier.
Выбрасывает:
IllegalStateException - если источник ввода не задан.
IndexOutOfBoundsException - если указанный индекс находится за пределами допустимого диапазона.
IOException - если при чтении информации о формате из источника ввода произошла ошибка.

getImageTypes

public abstract Iterator<ImageTypeSpecifier> getImageTypes(int imageIndex)
                                                    throws IOException

Возвращает Iterator, содержащий возможные типы изображений, в которых заданное изображение может быть декодировано, в виде ImageTypeSpecifiers. Будет возвращен как минимум один допустимый тип изображения.

Первый элемент итератора должен быть наиболее "естественным" типом для декодирования изображения с минимальными потерями. Например, для JPEG-изображения первым элементом должно быть RGB-изображение, даже если данные изображения хранятся во внутреннем представлении в цветовом пространстве YCbCr.

Параметры:
imageIndex - индекс изображения, которое необходимо retrieved.
Возвращает:
a Iterator содержащий как минимум один ImageTypeSpecifier представляющий предлагаемые типы изображений для декодирования текущего заданного изображения.
Выбрасывает:
IllegalStateException - если источник ввода не задан.
IndexOutOfBoundsException - если указанный индекс находится за пределами допустимого диапазона.
IOException - если при чтении информации о формате из источника ввода произошла ошибка.
См. также:
ImageReadParam.setDestination(BufferedImage), IIOParam.setDestinationType(ImageTypeSpecifier)

getDefaultReadParam

public ImageReadParam getDefaultReadParam()

Возвращает объект ImageReadParam подходящий по умолчанию для данного формата. Все подклассы должны определять набор значений по умолчанию для всех параметров и возвращать их с этим вызовом. Этот метод может быть вызван до задания источника ввода.

Реализация по умолчанию создает и возвращает новый объект ImageReadParam, который не позволяет масштабировать источник (т.е., возвращает new ImageReadParam()).

Возвращает:
объект ImageReadParam который может использоваться для управления процессом декодирования с использованием набора параметров по умолчанию.

getStreamMetadata

public abstract IIOMetadata getStreamMetadata()
                                       throws IOException

Возвращает объект IIOMetadata представляющий метаданные, связанные с источником ввода в целом (т.е., не связанные с каким-либо конкретным изображением), или null если читатель не поддерживает чтение метаданных, установлен в режим игнорирования метаданных или если метаданные недоступны.

Возвращает:
объект IIOMetadata, или null.
Выбрасывает:
IOException - если при чтении произошла ошибка.

getStreamMetadata

public IIOMetadata getStreamMetadata(String formatName,
                                     Set<String> nodeNames)
                              throws IOException

Возвращает объект IIOMetadata представляющий метаданные, связанные с источником ввода в целом (т.е., не связанные с каким-либо конкретным изображением). Если такие данные отсутствуют, возвращается null.

Результат метаданных ответственен только за возвращение документов в формате, названном formatName. В любых возвращаемых документах должны возвращаться только узлы, имена которых являются элементами nodeNames. Таким образом, объем обработки метаданных читателем может быть сведен к минимуму, исходя из необходимой информации.

Если formatName не является именем поддерживаемого формата метаданных, возвращается null.

Во всех случаях допустимо возвращать более мощный объект метаданных, чем строго необходимо. Имя формата и имена узлов являются всего лишь подсказками, которые могут быть использованы для снижения нагрузки на читатель.

Реализация по умолчанию просто возвращает результат вызова getStreamMetadata(), после проверки, поддерживается ли имя формата. Если нет, возвращается null.

Параметры:
formatName - имя формата метаданных, которое может использоваться для извлечения документа из возвращаемого объекта IIOMetadata.
nodeNames - объект Set, содержащий имена узлов, которые могут быть включены в извлеченный документ.
Возвращает:
объект IIOMetadata, или null.
Выбрасывает:
IllegalArgumentException - если formatName имеет значение null.
IllegalArgumentException - если nodeNames имеет значение null.
IOException - если при чтении произошла ошибка.

getImageMetadata

public abstract IIOMetadata getImageMetadata(int imageIndex)
                                      throws IOException

Возвращает объект IIOMetadata, содержащий метаданные, связанные с заданным изображением, или null, если чтец не поддерживает чтение метаданных, установлен параметр игнорирования метаданных или метаданные отсутствуют.

Параметры:
imageIndex - индекс изображения, метаданные которого необходимо получить.
Возвращает:
объект IIOMetadata, или null.
Выбрасывает:
IllegalStateException - если источник ввода не задан.
IndexOutOfBoundsException - если указанный индекс выходит за пределы допустимого диапазона.
IOException - если при чтении произошла ошибка.

getImageMetadata

public IIOMetadata getImageMetadata(int imageIndex,
                                    String formatName,
                                    Set<String> nodeNames)
                             throws IOException

Возвращает объект IIOMetadata, представляющий метаданные, связанные с заданным изображением, или null, если чтец не поддерживает чтение метаданных или они отсутствуют.

Возвращаемый объект метаданных отвечает только за возвращение документов в формате, указанном в formatName. В любых возвращаемых документах требуются только узлы, имена которых являются членами множества nodeNames. Таким образом, объем обработки метаданных, выполняемой чтецом, может быть сведен к минимуму, основываясь на необходимой информации.

Если formatName не является именем поддерживаемого формата метаданных, может быть возвращено значение null.

Во всех случаях допустимо возвращать объект метаданных с большей функциональностью, чем строго необходимо. Имя формата и имена узлов — это лишь подсказки, которые могут использоваться для уменьшения нагрузки на чтец.

Реализация по умолчанию просто возвращает результат вызова getImageMetadata(imageIndex), после проверки поддержки формата. Если нет, возвращается null.

Параметры:
imageIndex - индекс изображения, метаданные которого необходимо получить.
formatName - имя формата метаданных, которое может использоваться для извлечения документа из возвращаемого объекта IIOMetadata.
nodeNames - объект Set, содержащий имена узлов, которые могут быть включены в извлеченный документ.
Возвращает:
объект IIOMetadata, или null.
Выбрасывает:
IllegalStateException - если источник ввода не задан.
IndexOutOfBoundsException - если указанный индекс выходит за пределы допустимого диапазона.
IllegalArgumentException - если formatName имеет значение null.
IllegalArgumentException - если nodeNames имеет значение null.
IOException - если при чтении произошла ошибка.

read

public BufferedImage read(int imageIndex)
                   throws IOException

Считывает изображение с индексом imageIndex и возвращает его как полное BufferedImage, используя параметр ImageReadParam по умолчанию. Это вспомогательный метод, вызывающий read(imageIndex, null).

Возвращаемое изображение будет отформатировано в соответствии с первым ImageTypeSpecifier возвращенным getImageTypes.

Все зарегистрированные объекты IIOReadProgressListener будут уведомлены вызовом их метода imageStarted, за которым следуют вызовы их методов imageProgress по мере прогресса чтения. В завершении будет вызван метод imageComplete. Объекты IIOReadUpdateListener могут обновляться в другие моменты во время чтения по мере декодирования пикселей. Наконец, объекты IIOReadWarningListener получат уведомление о любых некритичных предупреждениях, возникающих во время декодирования.

Параметры:
imageIndex - индекс изображения для извлечения.
Возвращает:
требуемую часть изображения в виде BufferedImage.
Выбрасывает:
IllegalStateException - если источник ввода не задан.
IndexOutOfBoundsException - если указанный индекс выходит за пределы допустимого диапазона.
IOException - если при чтении произошла ошибка.

read

public abstract BufferedImage read(int imageIndex,
                                   ImageReadParam param)
                            throws IOException

Считывает изображение с индексом imageIndex и возвращает его как полное BufferedImage, используя предоставленный параметр ImageReadParam.

Фактически возвращаемое BufferedImage будет выбрано по алгоритму, определенному методом getDestination.

Все зарегистрированные объекты IIOReadProgressListener будут уведомлены вызовом метода imageStarted, за которым следуют вызовы метода imageProgress по мере прогресса чтения. В завершении будет вызван метод imageComplete. Объекты IIOReadUpdateListener могут обновляться в другие моменты во время чтения по мере декодирования пикселей. Наконец, объекты IIOReadWarningListener получат уведомление о любых некритичных предупреждениях, возникающих во время декодирования.

Множество считываемых исходных полос и записываемых целевых полос определяется путем вызова getSourceBands и getDestinationBands на предоставленном ImageReadParam. Если длины массивов, возвращенных этими методами, отличаются, множество исходных полос содержит индекс, больший, чем наибольший доступный индекс источника, или множество целевых полос содержит индекс, больший, чем наибольший допустимый индекс назначения, будет выброшено исключение IllegalArgumentException.

Если предоставленный ImageReadParam содержит значения необязательных настроек, не поддерживаемые этим чтецом (например, размер рендеринга источника или любые настройки, специфичные для формата), они будут проигнорированы.

Параметры:
imageIndex - индекс изображения для извлечения.
param - объект ImageReadParam используемый для управления процессом чтения, или null.
Возвращает:
требуемую часть изображения в виде BufferedImage.
Выбрасывает:
IllegalStateException - если источник ввода не задан.
IndexOutOfBoundsException - если указанный индекс выходит за пределы допустимого диапазона.
IllegalArgumentException - если множества исходных и целевых полос, определенные param.getSourceBands и param.getDestinationBands, отличаются по длине или содержат индексы, выходящие за пределы допустимого диапазона.
IllegalArgumentException - если полученное изображение будет иметь ширину или высоту менее 1.
IOException - если при чтении произошла ошибка.

readAll

public IIOImage readAll(int imageIndex,
                        ImageReadParam param)
                 throws IOException

Считывает изображение с индексом imageIndex и возвращает объект IIOImage, содержащий изображение, миниатюры и связанные метаданные изображения, используя предоставленный параметр ImageReadParam.

Фактически ссылаемое BufferedImage объект в возвращенном объекте IIOImage будет выбран с помощью алгоритма, определенного методом getDestination.

Все зарегистрированные объекты IIOReadProgressListener будут уведомлены вызовом метода imageStarted, за которым следуют вызовы методов imageProgress по мере прогресса чтения. В завершении будет вызван метод imageComplete. Объекты IIOReadUpdateListener могут обновляться в другие моменты во время чтения по мере декодирования пикселей. Наконец, объекты IIOReadWarningListener получат уведомление о любых некритичных предупреждениях, возникающих во время декодирования.

Множество считываемых исходных полос и записываемых целевых полос определяется путем вызова getSourceBands и getDestinationBands на предоставленном ImageReadParam. Если длины массивов, возвращенных этими методами, отличаются, множество исходных полос содержит индекс, больший, чем наибольший доступный индекс источника, или множество целевых полос содержит индекс, больший, чем наибольший допустимый индекс назначения, будет выброшено исключение IllegalArgumentException.

Миниатюры будут возвращены полностью независимо от настроек области.

Если предоставленный ImageReadParam содержит значения необязательных настроек, не поддерживаемые этим чтецом (например, размер рендеринга источника или любые настройки, специфичные для формата), эти значения будут проигнорированы.

Параметры:
imageIndex - индекс изображения для извлечения.
param - объект ImageReadParam используемый для управления процессом чтения, или null.
Возвращает:
объект IIOImage, содержащий требуемую часть изображения, набор миниатюр и связанные метаданные изображения.
Выбрасывает:
IllegalStateException - если источник ввода не задан.
IndexOutOfBoundsException - если указанный индекс выходит за пределы допустимого диапазона.
IllegalArgumentException - если множества исходных и целевых полос, определенные param.getSourceBands и param.getDestinationBands, отличаются по длине или содержат индексы, выходящие за пределы допустимого диапазона.
IllegalArgumentException - если полученное изображение будет иметь ширину или высоту менее 1.
IOException - если при чтении произошла ошибка.

readAll

public Iterator<IIOImage> readAll(Iterator<? extends ImageReadParam> params)
                           throws IOException

Возвращает Iterator содержащий все изображения, миниатюры и метаданные, начиная с индекса, заданного getMinIndex, из входного источника в виде объектов IIOImage. Поставляется Iterator содержащий объекты ImageReadParam; каждый прочитанный из входного источника элемент используется для одного изображения, пока не будут доступны больше изображений. Если у параметра чтения Iterator закончились элементы, но из входного источника все ещё доступны изображения, для оставшихся изображений используются параметры чтения по умолчанию.

Если params равно null, для всех изображений будет использован параметр чтения по умолчанию.

Фактический BufferedImage, на который ссылается возвращаемый IIOImage, будет выбран с использованием алгоритма, определенного методом getDestination.

Все зарегистрированные объекты IIOReadProgressListener будут уведомлены вызовом их метода sequenceStarted один раз. Затем, для каждого декодированного изображения, будет вызов метода imageStarted, за которым последуют вызовы метода imageProgress по мере продвижения чтения, и, наконец, вызов метода imageComplete. Метод sequenceComplete будет вызван после декодирования последнего изображения. Объекты IIOReadUpdateListener могут быть обновлены в другое время во время чтения по мере декодирования пикселей. Наконец, объекты IIOReadWarningListener получат уведомление о любых некритичных предупреждениях, возникающих во время декодирования.

Набор считываемых исходных каналов и записываемых целевых каналов определяется вызовом методов getSourceBands и getDestinationBands на предоставленном ImageReadParam. Если длины массивов, возвращаемых этими методами, различаются, набор исходных каналов содержит индекс, больший, чем наибольший доступный индекс исходного канала, или набор целевых каналов содержит индекс, больший, чем наибольший допустимый индекс целевого канала, будет выброшено исключение IllegalArgumentException.

Миниатюры будут возвращены полностью, независимо от настроек области.

Если какие-либо из предоставленных ImageReadParam содержат значения необязательных настроек, не поддерживаемые этим чтецом (например, размер рендеринга источника или любые настройки, специфичные для формата), они будут проигнорированы.

Параметры:
params - Iterator содержащий объекты ImageReadParam.
Возвращает:
Iterator представляющий содержимое входного источника в виде IIOImage.
Исключения:
IllegalStateException - если входной источник не задан.
IllegalArgumentException - если любой элемент params, не являющийся элементом null, не является ImageReadParam.
IllegalArgumentException - если набор исходных и целевых каналов, определённый param.getSourceBands и param.getDestinationBands, различается по длине или содержит индексы, выходящие за пределы допустимого диапазона.
IllegalArgumentException - если размер изображения будет меньше 1.
IOException - если при чтении произошла ошибка.
См. также:
ImageReadParam, IIOImage

canReadRaster

public boolean canReadRaster()

Возвращает true, если этот плагин поддерживает чтение только Raster данных пикселей. Если этот метод возвращает false, вызовы readRaster или readTileRaster выбросят исключение UnsupportedOperationException.

Реализация по умолчанию возвращает false.

Возвращает:
true если этот плагин поддерживает чтение сырых Raster.
См. также:
readRaster(int, javax.imageio.ImageReadParam), readTileRaster(int, int, int)

readRaster

public Raster readRaster(int imageIndex,
                         ImageReadParam param)
                  throws IOException

Возвращает новый объект Raster содержащий сырые данные пикселей из потока изображения без применения преобразования цветового пространства. Приложение должно самостоятельно определить способ интерпретации данных пикселей. Любые параметры назначения или типа изображения в предоставленном объекте ImageReadParam игнорируются, но все остальные параметры используются точно так же, как и в методе read, за исключением того, что любой смещение назначения используется как логическое, а не физическое смещение. Размер возвращаемого Raster всегда будет таким же, как у исходной области, обрезанной до фактического изображения. Логические смещения в самом потоке игнорируются.

Этот метод позволяет форматам, которые обычно применяют преобразование цветового пространства, например JPEG, и форматам, которые обычно не имеют связанного цветового пространства, таким как данные дистанционного зондирования или медицинской визуализации, предоставлять доступ к сырым данным пикселей.

Любые зарегистрированные readUpdateListener игнорируются, так как нет BufferedImage, но все остальные слушатели вызываются точно так же, как и для метода read.

Если canReadRaster() возвращает false, этот метод выбросит исключение UnsupportedOperationException.

Если предоставленный ImageReadParam содержит значения необязательных настроек, не поддерживаемые этим чтецом (например, размер рендеринга источника или любые настройки, специфичные для формата), они будут проигнорированы.

Реализация по умолчанию выбросит исключение UnsupportedOperationException.

Параметры:
imageIndex - индекс изображения для чтения.
param - ImageReadParam используемый для управления процессом чтения, или null.
Возвращает:
требуемая часть изображения в виде Raster.
Исключения:
UnsupportedOperationException - если этот плагин не поддерживает чтение сырых Raster.
IllegalStateException - если входной источник не задан.
IndexOutOfBoundsException - если предоставленный индекс находится за пределами допустимого диапазона.
IOException - если при чтении произошла ошибка.
См. также:
canReadRaster(), read(int), Raster

isImageTiled

public boolean isImageTiled(int imageIndex)
                     throws IOException

Возвращает true если изображение организовано в плитки, то есть равные по размеру непересекающиеся прямоугольники.

Плагин чтеца может выбирать, отображать или нет разбиение на плитки, присутствующие в изображении, так как оно хранится. Он даже может отображать разбиение на плитки, когда его явно нет. В целом, разбиение на плитки должно отображаться только в том случае, если это даёт преимущество (по скорости или объёму памяти) для доступа к отдельным плиткам. Независимо от того, отображает ли чтец разбиение на плитки, он должен уметь читать произвольную прямоугольную область, указанную в ImageReadParam.

Чтец, для которого все изображения гарантированно разбиение на плитки или гарантированно не разбиение на плитки, может вернуть true или false соответственно без доступа к данным изображения. В таких случаях нет необходимости выбрасывать исключение, даже если источник ввода не задан или индекс изображения находится вне допустимого диапазона.

Реализация по умолчанию просто возвращает false.

Параметры:
imageIndex - индекс изображения для запроса.
Возвращает:
true если изображение разбиение на плитки.
Исключения:
IllegalStateException - если для определения возвращаемого значения требуется источник ввода, но он не задан.
IndexOutOfBoundsException - если для определения возвращаемого значения необходимо обращение к изображению, но предоставленный индекс находится за пределами допустимого диапазона.
IOException - если при чтении произошла ошибка.

getTileWidth

public int getTileWidth(int imageIndex)
                 throws IOException

Возвращает ширину плитки в заданном изображении.

Реализация по умолчанию просто возвращает getWidth(imageIndex), что верно для изображений без разбиения на плитки. Чтецы, поддерживающие разбиение на плитки, должны переопределить этот метод.

Параметры:
imageIndex - индекс изображения для запроса.
Возвращает:
ширина плитки.
Исключения:
IllegalStateException - если входной источник не задан.
IndexOutOfBoundsException - если предоставленный индекс находится за пределами допустимого диапазона.
IOException - если при чтении произошла ошибка.

getTileHeight

public int getTileHeight(int imageIndex)
                  throws IOException

Возвращает высоту плитки в заданном изображении.

Реализация по умолчанию просто возвращает getHeight(imageIndex), что верно для изображений без разбиения на плитки. Чтецы, поддерживающие разбиение на плитки, должны переопределить этот метод.

Параметры:
imageIndex - индекс изображения для запроса.
Возвращает:
высота плитки.
Исключения:
IllegalStateException - если входной источник не задан.
IndexOutOfBoundsException - если предоставленный индекс находится за пределами допустимого диапазона.
IOException - если при чтении произошла ошибка.

getTileGridXOffset

public int getTileGridXOffset(int imageIndex)
                       throws IOException

Возвращает координату X верхнего левого угла плитки (0, 0) в заданном изображении.

Чтец, для которого смещение сетки плиток всегда имеет одно и то же значение (обычно 0), может вернуть значение без доступа к данным изображения. В таких случаях нет необходимости выбрасывать исключение, даже если источник ввода не задан или индекс изображения находится вне допустимого диапазона.

Реализация по умолчанию просто возвращает 0, что верно для изображений без разбиения на плитки и изображений с разбиением на плитки в большинстве форматов. Чтецы, поддерживающие разбиение на плитки с смещениями, отличными от (0, 0), должны переопределить этот метод.

Параметры:
imageIndex - индекс изображения для запроса.
Возвращает:
смещение сетки плиток по оси X.
Исключения:
IllegalStateException - если для определения возвращаемого значения требуется источник ввода, но он не задан.
IndexOutOfBoundsException - если для определения возвращаемого значения необходимо обращение к изображению, но предоставленный индекс находится вне допустимого диапазона.
IOException - если при чтении произошла ошибка.

getTileGridYOffset

public int getTileGridYOffset(int imageIndex)
                       throws IOException

Возвращает координату Y верхнего левого угла плитки (0, 0) в заданном изображении.

Чтец, для которого смещение сетки плиток всегда имеет одно и то же значение (обычно 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 - если во время чтения произошла ошибка.
См. также:
readTile(int, int, int), readRaster(int, javax.imageio.ImageReadParam), Raster

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(). Поэтому подклассы должны переопределять этот метод, если это возможно, чтобы избежать принудительного чтения миниатюры.

Параметры:
imageIndex - индекс изображения, которое необходимо получить.
thumbnailIndex - индекс миниатюры, которая должна быть получена.
Возвращает:
ширину нужной миниатюры как int.
Исключения:
UnsupportedOperationException - если миниатюры не поддерживаются.
IllegalStateException - если источник входных данных не установлен.
IndexOutOfBoundsException - если какой-либо из предоставленных индексов выходит за границы.
IOException - если во время чтения произошла ошибка.

getThumbnailHeight

public int getThumbnailHeight(int imageIndex,
                              int thumbnailIndex)
                       throws IOException

Возвращает высоту миниатюрного изображения предварительного просмотра с индексом thumbnailIndex, связанного с изображением с индексом ImageIndex.

Если средство чтения не поддерживает миниатюры (readerSupportsThumbnails возвращает false), генерируется исключение UnsupportedOperationException.

Реализация по умолчанию просто возвращает readThumbnail(imageindex, thumbnailIndex).getHeight(). Поэтому подклассы должны переопределять этот метод, если это возможно, чтобы избежать принудительного чтения миниатюры.

Параметры:
imageIndex - индекс изображения, которое необходимо получить.
thumbnailIndex - индекс миниатюры, которая должна быть получена.
Возвращает:
высоту нужной миниатюры как int.
Исключения:
UnsupportedOperationException - если миниатюры не поддерживаются.
IllegalStateException - если источник входных данных не установлен.
%%%NON_TRANSLATATABLE_1029%%% - если какой-либо из предоставленных индексов выходит за границы.
IOException - если во время чтения произошла ошибка.

readThumbnail

public BufferedImage readThumbnail(int imageIndex,
                                   int thumbnailIndex)
                            throws IOException

Возвращает изображение эскиза, индексированное thumbnailIndex, связанное с изображением, индексированным ImageIndex, как BufferedImage.

Любые зарегистрированные объекты IIOReadProgressListener будут уведомлены путем вызова их методов thumbnailStarted, thumbnailProgress и thumbnailComplete.

Если устройство чтения не поддерживает эскизы (readerSupportsThumbnails возвращает false), будет выброшено исключение UnsupportedOperationException независимо от того, установлен ли источник входных данных и находятся ли индексы в допустимых пределах.

Реализация по умолчанию вызывает исключение UnsupportedOperationException.

Параметры:
imageIndex - индекс изображения, которое нужно получить.
thumbnailIndex - индекс эскиза, который нужно получить.
Возвращает:
нужный эскиз как BufferedImage.
Исключения:
UnsupportedOperationException - если эскизы не поддерживаются.
IllegalStateException - если источник входных данных не установлен.
IndexOutOfBoundsException - если любой из предоставленных индексов находится за пределами допустимых значений.
IOException - если во время чтения возникает ошибка.

abort

public void abort()

Запрашивает прерывание любой текущей операции чтения. Содержимое изображения после прерывания будет неопределенным.

Устройства чтения должны вызывать clearAbortRequest в начале каждой операции чтения и регулярно проверять значение abortRequested во время чтения.

abortRequested

protected boolean abortRequested()

Возвращает true, если запрос на прерывание текущей операции чтения был сделан с момента создания устройства чтения или вызова clearAbortRequest.

Возвращает:
true если текущую операцию чтения следует прервать.
См. также:
abort(), clearAbortRequest()

clearAbortRequest

protected void clearAbortRequest()

Очищает любой предыдущий запрос на прерывание. После вызова этого метода abortRequested будет возвращать false.

См. также:
abort(), abortRequested()

addIIOReadWarningListener

public void addIIOReadWarningListener(IIOReadWarningListener listener)

Добавляет IIOReadWarningListener в список зарегистрированных обработчиков предупреждений. Если listener является null, исключение не будет выброшено, и никаких действий предприниматься не будет. Сообщения, отправленные указанному обработчику, будут локализованы, если это возможно, в соответствии с текущим Locale. Если Locale не установлен, предупреждающие сообщения могут быть локализованы по усмотрению устройства чтения.

Параметры:
listener - IIOReadWarningListener, который нужно зарегистрировать.
См. также:
removeIIOReadWarningListener(javax.imageio.event.IIOReadWarningListener)

removeIIOReadWarningListener

public void removeIIOReadWarningListener(IIOReadWarningListener listener)

Удаляет IIOReadWarningListener из списка зарегистрированных обработчиков ошибок. Если обработчик не был зарегистрирован ранее или если listener является null, исключение не будет выброшено, и никаких действий предприниматься не будет.

Параметры:
listener - IIOReadWarningListener, который нужно отменить регистрацию.
См. также:
addIIOReadWarningListener(javax.imageio.event.IIOReadWarningListener)

removeAllIIOReadWarningListeners

public void removeAllIIOReadWarningListeners()

Удаляет все зарегистрированные объекты IIOReadWarningListener.

Реализация по умолчанию устанавливает переменные экземпляра warningListeners и warningLocales в значение null.

addIIOReadProgressListener

public void addIIOReadProgressListener(IIOReadProgressListener listener)

Добавляет IIOReadProgressListener в список зарегистрированных обработчиков прогресса. Если listener является null, исключение не будет выброшено, и никаких действий предприниматься не будет.

Параметры:
listener - IIOReadProgressListener, который нужно зарегистрировать.
См. также:
removeIIOReadProgressListener(javax.imageio.event.IIOReadProgressListener)

removeIIOReadProgressListener

public void removeIIOReadProgressListener(IIOReadProgressListener listener)

Удаляет IIOReadProgressListener из списка зарегистрированных обработчиков прогресса. Если обработчик не был зарегистрирован ранее или если listener является null, исключение не будет выброшено, и никаких действий предприниматься не будет.

Параметры:
listener - IIOReadProgressListener, который нужно отменить регистрацию.
См. также:
addIIOReadProgressListener(javax.imageio.event.IIOReadProgressListener)

removeAllIIOReadProgressListeners

public void removeAllIIOReadProgressListeners()

Удаляет все зарегистрированные объекты IIOReadProgressListener.

Реализация по умолчанию устанавливает переменную экземпляра progressListeners в значение null.

addIIOReadUpdateListener

public void addIIOReadUpdateListener(IIOReadUpdateListener listener)

Добавляет IIOReadUpdateListener в список зарегистрированных обработчиков обновлений. Если listener является null, исключение не будет выброшено, и никаких действий предприниматься не будет. Обработчик будет получать уведомления об обновлениях пикселей по мере декодирования изображений и эскизов, включая начало и конец прогрессивных проходов.

Если обработчики обновлений отсутствуют, устройство чтения может выполнить меньшее количество обновлений пикселей целевых изображений и/или эскизов, что может привести к более эффективному декодированию.

Например, при прогрессивном декодировании JPEG каждый проход содержит обновления набора коэффициентов, которые необходимо было бы преобразовать в значения пикселей и преобразовать в цветовое пространство RGB для каждого прохода, если обработчики присутствуют. Если обработчики отсутствуют, коэффициенты могут просто накапливаться, а окончательные результаты преобразовываться и преобразовываться в цвета только один раз.

Окончательные результаты декодирования будут одинаковыми независимо от того, выполняются ли промежуточные обновления. Таким образом, если нужно только конечное изображение, может быть предпочтительнее не регистрировать никакие IIOReadUpdateListener. В общем, прогрессивное обновление наиболее эффективно при извлечении изображений по сетевому соединению, которое очень медленное по сравнению с локальной обработкой ЦП; по быстрому соединению прогрессивные обновления могут фактически замедлить отображение изображения.

Параметры:
listener - IIOReadUpdateListener, который нужно зарегистрировать.
См. также:
removeIIOReadUpdateListener(javax.imageio.event.IIOReadUpdateListener)

removeIIOReadUpdateListener

public void removeIIOReadUpdateListener(IIOReadUpdateListener listener)

Удаляет IIOReadUpdateListener из списка зарегистрированных обработчиков обновлений. Если обработчик не был зарегистрирован ранее или если listener является null, исключение не будет выброшено, и никаких действий предприниматься не будет.

Параметры:
listener - IIOReadUpdateListener, который нужно отменить регистрацию.
См. также:
addIIOReadUpdateListener(javax.imageio.event.IIOReadUpdateListener)

removeAllIIOReadUpdateListeners

public void removeAllIIOReadUpdateListeners()

Удаляет все зарегистрированные объекты IIOReadUpdateListener.

Реализация по умолчанию устанавливает переменную экземпляра updateListeners в значение null.

processSequenceStarted

protected void processSequenceStarted(int minIndex)

Рассылает уведомление о начале последовательности операций чтения изображений всем зарегистрированным IIOReadProgressListener путем вызова их метода sequenceStarted. Подклассы могут использовать этот метод в качестве вспомогательного.

Параметры:
minIndex - наименьший индекс, который читается.

processSequenceComplete

protected void processSequenceComplete()

Рассылает уведомление о завершении последовательности операций чтения изображений всем зарегистрированным IIOReadProgressListener путем вызова их метода sequenceComplete. Подклассы могут использовать этот метод в качестве вспомогательного.

processImageStarted

protected void processImageStarted(int imageIndex)

Рассылает уведомление о начале чтения изображения всем зарегистрированным IIOReadProgressListener путем вызова их метода imageStarted. Подклассы могут использовать этот метод в качестве вспомогательного.

Параметры:
imageIndex - индекс изображения, которое будет читаться.

processImageProgress

protected void processImageProgress(float percentageDone)

Рассылает текущий процент завершения чтения изображения всем зарегистрированным IIOReadProgressListener путем вызова их метода imageProgress. Подклассы могут использовать этот метод в качестве вспомогательного.

Параметры:
percentageDone - текущий процент завершения в виде float.

processImageComplete

protected void processImageComplete()

Рассылает уведомление о завершении чтения изображения всем зарегистрированным IIOReadProgressListener путем вызова их метода imageComplete. Подклассы могут использовать этот метод в качестве вспомогательного.

processThumbnailStarted

protected void processThumbnailStarted(int imageIndex,
                                       int thumbnailIndex)

Рассылает уведомление о начале чтения эскиза всем зарегистрированным IIOReadProgressListener путем вызова их метода thumbnailStarted. Подклассы могут использовать этот метод в качестве вспомогательного.

Параметры:
imageIndex - индекс изображения, связанного с эскизом.
thumbnailIndex - индекс эскиза.

processThumbnailProgress

protected void processThumbnailProgress(float percentageDone)

Рассылает текущий процент завершения чтения эскиза всем зарегистрированным IIOReadProgressListener путем вызова их метода thumbnailProgress. Подклассы могут использовать этот метод в качестве вспомогательного.

Параметры:
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. Подклассы могут использовать этот метод для удобства.

Параметры:
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. Подклассы могут использовать этот метод для удобства.

Параметры:
theImage - обновляемый BufferedImage.
minX - координата X левого верхнего пикселя, включенного в проход.
minY - координата X левого верхнего пикселя, включенного в проход.
width - общая ширина обновляемой области, включая пиксели, пропущенные, если periodX > 1.
height - общая высота обновляемой области, включая пиксели, пропущенные, если periodY > 1.
periodX - горизонтальное расстояние между пикселями.
periodY - вертикальное расстояние между пикселями.
bands - массив int , указывающий на набор затронутых полос назначения.

processPassComplete

protected void processPassComplete(BufferedImage theImage)

Рассылает уведомление об окончании прогрессивного прохода всем зарегистрированным IIOReadUpdateListener посредством вызова их метода passComplete. Подклассы могут использовать этот метод для удобства.

Параметры:
theImage - обновляемый BufferedImage.

processThumbnailPassStarted

protected void processThumbnailPassStarted(BufferedImage theThumbnail,
                                           int pass,
                                           int minPass,
                                           int maxPass,
                                           int minX,
                                           int minY,
                                           int periodX,
                                           int periodY,
                                           int[] bands)

Рассылает уведомление о начале прогрессивного прохода миниатюры всем зарегистрированным IIOReadUpdateListener посредством вызова их метода thumbnailPassStarted. Подклассы могут использовать этот метод для удобства.

Параметры:
theThumbnail - обновляемая миниатюра BufferedImage.
pass - индекс текущего прохода, начиная с 0.
minPass - индекс первого прохода, который будет декодирован.
maxPass - индекс последнего прохода, который будет декодирован.
minX - координата X левого верхнего пикселя, включенного в проход.
minY - координата X левого верхнего пикселя, включенного в проход.
periodX - горизонтальное расстояние между пикселями.
periodY - вертикальное расстояние между пикселями.
bands - массив int , указывающий на набор затронутых полос назначения.

processThumbnailUpdate

protected void processThumbnailUpdate(BufferedImage theThumbnail,
                                      int minX,
                                      int minY,
                                      int width,
                                      int height,
                                      int periodX,
                                      int periodY,
                                      int[] bands)

Рассылает уведомление об обновлении набора образцов в изображении миниатюры всем зарегистрированным IIOReadUpdateListener посредством вызова их метода thumbnailUpdate. Подклассы могут использовать этот метод для удобства.

Параметры:
theThumbnail - обновляемая миниатюра BufferedImage.
minX - координата X левого верхнего пикселя, включенного в проход.
minY - координата X левого верхнего пикселя, включенного в проход.
width - общая ширина обновляемой области, включая пиксели, пропущенные, если periodX > 1.
height - общая высота обновляемой области, включая пиксели, пропущенные, если periodY > 1.
periodX - горизонтальное расстояние между пикселями.
periodY - вертикальное расстояние между пикселями.
bands - массив int , указывающий на набор затронутых полос назначения.

processThumbnailPassComplete

protected void processThumbnailPassComplete(BufferedImage theThumbnail)

Рассылает уведомление об окончании прогрессивного прохода миниатюры всем зарегистрированным IIOReadUpdateListener посредством вызова их метода thumbnailPassComplete. Подклассы могут использовать этот метод для удобства.

Параметры:
theThumbnail - обновляемая миниатюра BufferedImage.

processWarningOccurred

protected void processWarningOccurred(String warning)

Рассылает сообщение об ошибке всем зарегистрированным IIOReadWarningListener посредством вызова их метода warningOccurred. Подклассы могут использовать этот метод для удобства.

Параметры:
warning - сообщение об ошибке для отправки.
Исключения:
IllegalArgumentException - если warning равно null.

processWarningOccurred

protected void processWarningOccurred(String baseName,
                                      String keyword)

Рассылает локализованное сообщение об ошибке всем зарегистрированным IIOReadWarningListener посредством вызова их метода warningOccurred со строкой, взятой из ResourceBundle. Подклассы могут использовать этот метод для удобства.

Параметры:
baseName - базовое имя набора ResourceBundle , содержащего локализованные сообщения об ошибках.
keyword - ключевое слово для индексирования сообщения об ошибке в наборе ResourceBundle.
Исключения:
IllegalArgumentException - если baseName равно null.
IllegalArgumentException - если keyword равно null.
IllegalArgumentException - если не может быть найден соответствующий ResourceBundle.
IllegalArgumentException - если указанный ресурс не найден в расположенном ResourceBundle.
IllegalArgumentException - если объект, извлечённый из ResourceBundle , не является String.

reset

public void reset()

Возвращает ImageReader в начальное состояние.

По умолчанию вызываются setInput(null, false), setLocale(null), removeAllIIOReadUpdateListeners(), removeAllIIOReadWarningListeners(), removeAllIIOReadProgressListeners() и clearAbortRequest.

dispose

public void dispose()

Разрешает освобождение ресурсов, удерживаемых этим объектом. Результат вызова любого другого метода (кроме finalize) после вызова этого метода не определён.

Приложениям важно вызывать этот метод, когда им больше не потребуется использовать этот ImageReader. В противном случае читатель может продолжать удерживать ресурсы неопределенно долго.

По умолчанию этот метод в суперклассе ничего не делает. Реализации подклассов должны гарантировать освобождение всех ресурсов, особенно нативных.

getSourceRegion

protected static Rectangle getSourceRegion(ImageReadParam param,
                                           int srcWidth,
                                           int srcHeight)

Утилитарный метод, который может быть использован читателями для вычисления области исходного изображения, учитывая любые настройки области исходного изображения и смещения подвыборки в предоставленном ImageReadParam. Фактические коэффициенты подвыборки, размер назначения и смещение назначения не учитываются, поэтому необходимо произвести дополнительное усечение. Метод computeRegions выполняет все необходимые усечения.

Параметры:
param - используемый ImageReadParam или null.
srcWidth - ширина исходного изображения.
srcHeight - высота исходного изображения.
Возвращает:
область источника в виде Rectangle.

computeRegions

protected static void computeRegions(ImageReadParam param,
                                     int srcWidth,
                                     int srcHeight,
                                     BufferedImage image,
                                     Rectangle srcRegion,
                                     Rectangle destRegion)

Вычисляет область исходного изображения и область назначения, учитывая ширину и высоту исходного изображения, необязательное изображение назначения и необязательное ImageReadParam. Область источника начинается с всего исходного изображения. Затем она усекается до области источника, указанной в ImageReadParam, если она задана.

Если какой-либо из смещений назначения отрицательный, область источника усекается таким образом, чтобы её левый верхний угол совпадал с левым верхним углом изображения назначения, учитывая подвыборку. Затем результат усекается до изображения назначения справа и снизу, если оно задано, учитывая подвыборку и смещения назначения.

Аналогично, область назначения начинается с исходного изображения, смещается на смещение назначения, указанное в ImageReadParam, если оно есть, и, наконец, усекается до изображения назначения, если оно есть.

Если область источника или назначения в итоге имеет ширину или высоту 0, выбрасывается IllegalArgumentException.

Метод getSourceRegion> может быть использован, если требуется только усечение области источника.

Параметры:
param - объект ImageReadParam, или null.
srcWidth - ширина исходного изображения.
srcHeight - высота исходного изображения.
image - объект BufferedImage, который будет изображением назначения, или null.
srcRegion - объект Rectangle, который будет заполнен исходной областью интереса.
destRegion - объект Rectangle, который будет заполнен областью интереса назначения.
Исключения:
IllegalArgumentException - если srcRegion является null.
IllegalArgumentException - если dstRegion является null.
IllegalArgumentException - если полученная исходная или целевая область пуста.

checkReadParamBandSettings

protected static void checkReadParamBandSettings(ImageReadParam param,
                                                 int numSrcBands,
                                                 int numDstBands)

Утилитарный метод, который может быть использован читателями для проверки правильности параметров полос источника и назначения ImageReadParam. Этот метод может быть вызван как только читатель узнает количество полос исходного изображения, как оно существует в потоке ввода, и количество полос изображения назначения, которое записывается.

Метод извлекает массивы параметров полос источника и назначения из param с помощью методов getSourceBands и getDestinationBands (или считает их null, если param является null). Если массив параметров полос источника null, он считается равным массиву { 0, 1, ..., numSrcBands - 1 }, и аналогично для массива параметров полос назначения.

Затем метод проверяет, что оба массива имеют одинаковую длину и что ни один из массивов не содержит значение, большее, чем индекс максимальной доступной полосы.

Любое отклонение приводит к выбрасыванию IllegalArgumentException; успех приводит к тому, что метод возвращается без вывода.

Параметры:
param - ImageReadParam используется для чтения изображения.
numSrcBands - количество полос изображения в исходном источнике.
numDstBands - количество полос в изображении назначения.
Исключения:
IllegalArgumentException - если param содержит недопустимую спецификацию подмножества полос источника и/или назначения.

getDestination

protected static BufferedImage getDestination(ImageReadParam param,
                                              Iterator<ImageTypeSpecifier> imageTypes,
                                              int width,
                                              int height)
                                       throws IIOException

Возвращает BufferedImage, в который должны быть записаны данные декодированных пикселей. Изображение определяется путем проверки предоставленного ImageReadParam, если оно не null; если его метод getDestination возвращает значение, отличное от null, то это изображение просто возвращается. В противном случае вызывается метод param.getDestinationType, чтобы определить, указан ли определенный тип изображения. Если это так, возвращаемое ImageTypeSpecifier используется после проверки, что оно равно одному из тех, которые включены в imageTypes.

Если param является null или вышеперечисленные шаги не дали изображения или ImageTypeSpecifier, используется первое значение, полученное из параметра imageTypes. Как правило, вызывающий код установит imageTypes в значение getImageTypes(imageIndex).

Далее, размеры изображения определяются вызовом computeRegions. Фактическая ширина и высота декодируемого изображения передаются в качестве параметров width и height.

Параметры:
param - объект ImageReadParam для получения изображения назначения или типа изображения, или null.
imageTypes - итератор Iterator ImageTypeSpecifier, указывающий допустимые типы изображений, с первым по умолчанию.
width - действительная ширина декодируемого изображения или тайла.
height - действительная ширина декодируемого изображения или тайла.
Возвращаемое значение:
объект BufferedImage, в который должны быть записаны данные декодированных пикселей.
Исключения:
IIOException - если ImageTypeSpecifier, указанный в param, не соответствует ни одному из допустимых из imageTypes.
IllegalArgumentException - если imageTypes пусто или пустой, или если из него извлечён объект не типа ImageTypeSpecifier.
IllegalArgumentException - если полученное изображение будет иметь ширину или высоту меньше 1.
IllegalArgumentException - если произведение width и height больше Integer.MAX_VALUE.

© 1993, 2020, 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/11/docs/api/java.desktop/javax/imageio/ImageReader.html

Spec-Zone .ru
спецификации, руководства, описания, API