Spec-Zone.ru › OpenJDK 8

Класс ImageReader

  • java.lang.Object
    • javax.imageio.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

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

protected boolean seekForwardOnly

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

protected List<IIOReadUpdateListener> updateListeners

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

protected List<IIOReadWarningListener> warningListeners

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

protected List<Locale> warningLocales

List 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()

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

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

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

input

protected Object input

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

seekForwardOnly

protected boolean seekForwardOnly

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

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

ignoreMetadata

protected boolean ignoreMetadata

Значение true, если текущий источник ввода помечен как допускающий игнорирование метаданных методом 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

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

warningLocales

protected List<Locale> warningLocales

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

progressListeners

protected List<IIOReadProgressListener> progressListeners

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

updateListeners

protected List<IIOReadUpdateListener> updateListeners

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

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

ImageReader

protected ImageReader(ImageReaderSpi originatingProvider)

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

Подклассы, использующие расширения, должны предоставить конструктор с сигнатурой (ImageReaderSpi, Object) для получения объекта расширения. Если объект расширения не подходит, должно быть выброшено исключение IllegalArgumentException.

Параметры:
originatingProvider - ImageReaderSpi вызывающий этот конструктор, или null.

Методы

getFormatName

public String getFormatName()
                     throws IOException

Возвращает строку, String формат источника ввода.

По умолчанию возвращает originatingProvider.getFormatNames()[0]. Реализации, которые могут не иметь поставщика услуг, или которые желают использовать другую политику именования, должны переопределить этот метод.

Возвращает:
имя формата в виде String.
Исключения:
IOException - если возникла ошибка при чтении информации из источника ввода.

getOriginatingProvider

public ImageReaderSpi getOriginatingProvider()

Возвращает ImageReaderSpi переданный в конструкторе. Обратите внимание, что это значение может быть null.

Возвращает:
объект ImageReaderSpi, или null.
См. также:
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 может вернуть 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 не пусто, но не является одним из значений, возвращаемых 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 - индекс запрошенного изображения.
Возвращает:
значение float , указывающее коэффициент аспектного соотношения заданного изображения.
Исключения:
IllegalStateException - если источник ввода не установлен.
IndexOutOfBoundsException - если заданный индекс вне диапазона.
IOException - если при чтении произошла ошибка.

getRawImageType

public ImageTypeSpecifier getRawImageType(int imageIndex)
                                   throws IOException

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

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

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

getImageTypes

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

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

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

Параметры:
imageIndex - индекс изображения, которое retrieved.
Возвращает:
объект Iterator, содержащий по крайней мере один ImageTypeSpecifier, представляющий предлагаемые типы изображений для декодирования текущего заданного изображения.
Выбрасывает:
IllegalStateException - если исходный источник не задан.
IndexOutOfBoundsException - если указанный индекс выходит за пределы границ.
IOException - если при чтении информации о формате из исходного источника произошла ошибка.
См. также:
ImageReadParam.setDestination(BufferedImage), ImageReadParam.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, что верно для изображений без плиток и изображений с плитками в большинстве форматов. Читатели, которые поддерживают плитки с не нулевыми смещениями, должны переопределить этот метод.

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

getTileGridYOffset

public int getTileGridYOffset(int imageIndex)
                       throws IOException

Возвращает координату Y левого верхнего угла плитки (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.

Реализация по умолчанию проверяет, поддерживается ли чтение Rasters, и если да, то вызывает readRaster(imageIndex, null), если tileX и tileY равны 0, или выбрасывает IllegalArgumentException в противном случае.

Параметры:
imageIndex - индекс изображения, которое нужно получить.
tileX - индекс столбца (начиная с 0) извлекаемой плитки.
tileY - индекс строки (начиная с 0) извлекаемой плитки.
Возвращает:
плитку в виде Raster.
Выбрасывает:
UnsupportedOperationException - если этот плагин не поддерживает чтение необработанных Rasters.
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 - если источник ввода не задан.
IndexOutOfBoundsException - если любой из предоставленных индексов находится вне допустимого диапазона.
IOException - если при чтении произошла ошибка.

readThumbnail

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

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

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

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

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

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

abort

public void abort()

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

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

abortRequested

protected boolean abortRequested()

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

Возвращает:
true если текущая операция чтения должна быть прервана.
См. также:
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 — изображение назначения, или 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 возвращает ненулевое значение, то возвращается это изображение. В противном случае вызывается метод 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 является null или пустым, или если из него извлекается объект, не являющийся 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.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API