Spec-Zone.ru › OpenJDK 17

Класс 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
Массив текущих зарегистрированных IIOReadProgressListeners, инициализированный по умолчанию null, что эквивалентно пустому List.
protected boolean seekForwardOnly
true если текущий источник ввода был помечен как разрешающий только поиск вперёд setInput.
protected List<IIOReadUpdateListener> updateListeners
Массив текущих зарегистрированных IIOReadUpdateListeners, инициализированный по умолчанию null, что эквивалентно пустому List.
protected List<IIOReadWarningListener> warningListeners
Массив текущих зарегистрированных IIOReadWarningListeners, инициализированный по умолчанию null, что эквивалентно пустому List.
protected List<Locale> warningLocales
Массив Locales, связанных с каждым из текущих зарегистрированных IIOReadWarningListeners, инициализированный по умолчанию null, что эквивалентно пустому List.

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

ImageReader(ImageReaderSpi originatingProvider)
Модификатор Конструктор Описание
protected
Создаёт 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, содержащий возможные типы изображений, в которые может быть декодировано данное изображение, в виде ImageTypeSpecifierss.
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()
Распространяет завершение чтения изображения всем зарегистрированным IIOReadProgressListeners, вызвав их метод imageComplete.
protected void processImageProgress(float percentageDone)
Распространяет текущий процент завершения изображения всем зарегистрированным IIOReadProgressListeners, вызвав их метод imageProgress.
protected void processImageStarted(int imageIndex)
Распространяет начало чтения изображения всем зарегистрированным IIOReadProgressListeners, вызвав их метод imageStarted.
protected void processImageUpdate(BufferedImage theImage, int minX, int minY, int width, int height, int periodX, int periodY, int[] bands)
Распространяет обновление набора выборок всем зарегистрированным IIOReadUpdateListeners, вызвав их метод imageUpdate.
protected void processPassComplete(BufferedImage theImage)
Распространяет завершение прохода прогрессивного чтения всем зарегистрированным IIOReadUpdateListeners, вызвав их метод passComplete.
protected void processPassStarted(BufferedImage theImage, int pass, int minPass, int maxPass, int minX, int minY, int periodX, int periodY, int[] bands)
Распространяет начало прохода прогрессивного чтения всем зарегистрированным IIOReadUpdateListeners, вызвав их метод 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)
Устанавливает текущее значение 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 локалей, связанных с каждым зарегистрированным обработчиком IIOReadWarningListener, по умолчанию инициализирован null, что эквивалентно пустому списку List.

progressListeners

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

updateListeners

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

Подробное описание конструкторов

ImageReader

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

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

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

Подробное описание методов

getFormatName

public String getFormatName() throws IOException
Возвращает String формат входного источника.

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

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

getOriginatingProvider

public ImageReaderSpi getOriginatingProvider()
Возвращает ImageReaderSpi предоставленный в конструкторе. Обратите внимание, что это значение может быть null.
Возвращает:
объект ImageReaderSpi, или null.
См. также:
  • 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 будет инициализировано нулём.

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

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

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

setInput

public void setInput(Object input)
Устанавливает источник ввода, который будет использоваться для данного ImageInputStream или другого Object. Источник ввода необходимо установить перед использованием любых методов запроса или чтения. Если input равно null, любой установленный ранее источник ввода будет удалён. В любом случае значение minIndex будет инициализировано нулём.

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

Parameters:
input - используемый ImageInputStream или другой Object для последующего декодирования.
Throws:
IllegalArgumentException - если input не является экземпляром одного из классов, возвращаемых методом getInputTypes исходного поставщика сервисов, или не является ImageInputStream.
See Also:
  • getInput()

getInput

public Object getInput()
Возвращает ImageInputStream или другой Object ранее установленный в качестве источника ввода. Если источник ввода не был установлен, возвращается null.
Returns:
используемый Object, или null.
See Also:
  • ImageInputStream
  • setInput(java.lang.Object, boolean, boolean)

isSeekForwardOnly

public boolean isSeekForwardOnly()
Возвращает true, если текущий источник ввода был помечен как поддерживающий только поиск вперёд, передав true в качестве аргумента seekForwardOnly методу setInput.
Returns:
true если источник ввода поддерживает только поиск вперёд.
See Also:
  • setInput(java.lang.Object, boolean, boolean)

isIgnoringMetadata

public boolean isIgnoringMetadata()
Возвращает true, если текущий источник ввода был помечен как разрешающий игнорирование метаданных, передав true в качестве аргумента ignoreMetadata методу setInput.
Returns:
true если метаданные могут быть проигнорированы.
See Also:
  • setInput(java.lang.Object, boolean, boolean)

getMinIndex

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

getAvailableLocales

public Locale[] getAvailableLocales()
Возвращает массив Locale , которые могут быть использованы для локализации слушателей предупреждений и настроек сжатия. Возвращаемое значение null указывает, что локализация не поддерживается.

Стандартная реализация возвращает клон переменной экземпляра availableLocales, если она не null, в противном случае возвращает null.

Returns:
массив Locale , которые могут быть использованы в качестве аргументов к setLocale, или null.

setLocale

public void setLocale(Locale locale)
Устанавливает текущую Locale этого ImageReader в заданное значение. Значение null удаляет любое предыдущее значение и указывает, что чтец должен локализовать себя по мере необходимости.
Parameters:
locale - требуемая Locale, или null.
Throws:
IllegalArgumentException - если locale не пусто, но не является одним из значений, возвращаемых getAvailableLocales.
See Also:
  • getLocale()

getLocale

public Locale getLocale()
Возвращает текущую установленную Locale, или null если она не установлена.
Returns:
текущую Locale, или null.
See Also:
  • setLocale(java.util.Locale)

getNumImages

public abstract int getNumImages(boolean allowSearch) throws IOException
Возвращает количество изображений, не включая миниатюры, доступных из текущего источника ввода.

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

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

getWidth

public abstract int getWidth(int imageIndex) throws IOException
Возвращает ширину в пикселях данного изображения в источнике ввода.

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

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

getHeight

public abstract int getHeight(int imageIndex) throws IOException
Возвращает высоту в пикселях данного изображения в источнике ввода.

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

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

isRandomAccessEasy

public boolean isRandomAccessEasy(int imageIndex) throws IOException
Возвращает true, если формат хранения данного изображения не препятствует произвольному доступу к пикселям. Для большинства сжатых форматов, таких как JPEG, этот метод должен возвращать false, так как для декодирования требуется большая часть изображения помимо области интереса.

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

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

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

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

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

getAspectRatio

public float getAspectRatio(int imageIndex) throws IOException
Возвращает соотношение сторон данного изображения (т. е. его ширину, деленную на высоту) как float. Для изображений, которые можно изменять, этот метод предоставляет способ определения подходящей ширины при заданной высоте или наоборот. Для неизменяемых изображений используются истинные ширина и высота.

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

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

getRawImageType

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

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

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

getImageTypes

public abstract Iterator<ImageTypeSpecifier> getImageTypes(int imageIndex) throws IOException
Возвращает Iterator, содержащий возможные типы изображений, в которые можно декодировать данное изображение, в виде ImageTypeSpecifiers. Будет возвращен по крайней мере один допустимый тип изображения.

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

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

getDefaultReadParam

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

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

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

getStreamMetadata

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

getStreamMetadata

public IIOMetadata getStreamMetadata(String formatName, Set<String> nodeNames) throws IOException
Возвращает объект IIOMetadata, представляющий метаданные, связанные с источником ввода в целом (т. е. не связанные ни с каким конкретным изображением). Если таких данных нет, возвращается null.

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

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

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

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

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

getImageMetadata

public abstract IIOMetadata getImageMetadata(int imageIndex) throws IOException
Возвращает объект IIOMetadata содержащий метаданные, связанные с заданным изображением, или null если читатель не поддерживает чтение метаданных, установлен для игнорирования метаданных или если метаданные недоступны.
Parameters:
imageIndex - индекс изображения, метаданные которого нужно получить.
Returns:
объект IIOMetadata или null.
Throws:
IllegalStateException - если источник ввода не установлен.
IndexOutOfBoundsException - если предоставленный индекс находится за пределами допустимого диапазона.
IOException - если при чтении произошла ошибка.

getImageMetadata

public IIOMetadata getImageMetadata(int imageIndex, String formatName, Set<String> nodeNames) throws IOException
Возвращает объект IIOMetadata, представляющий метаданные, связанные с заданным изображением, или null, если читатель не поддерживает чтение метаданных или они отсутствуют.

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

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

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

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

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

read

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

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

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

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

read

public abstract BufferedImage read(int imageIndex, ImageReadParam param) throws IOException
Считывает изображение с индексом imageIndex и возвращает его как полное изображение BufferedImage, используя предоставленный ImageReadParam.

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

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

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

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

readAll

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

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

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

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

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

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

readAll

public Iterator<IIOImage> readAll(Iterator<? extends ImageReadParam> params) throws IOException
Возвращает объект, содержащий все изображения, миниатюры и метаданные, начиная с индекса, заданного getMinIndex, из входного источника в виде объектов IIOImage. Поставляется объект, содержащий объекты ImageReadParam; каждый считанный из входного источника элемент изображения потребляется до тех пор, пока не будут доступны больше изображений. Если параметр чтения Iterator исчерпывает элементы, но из входного источника по-прежнему доступны изображения, для оставшихся изображений используются параметры чтения по умолчанию.

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

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

Все зарегистрированные объекты IIOReadProgressListener будут уведомлены вызовом их метода sequenceStarted один раз. Затем, для каждого декодированного изображения, будет выполнен вызов imageStarted, после чего — вызовы imageProgress по мере выполнения чтения и, наконец, вызов imageComplete.

Метод sequenceComplete будет вызван после декодирования последнего изображения. Объекты IIOReadUpdateListener могут быть обновлены в другие моменты во время чтения, когда декодируются пиксели.

Наконец, объекты IIOReadWarningListener получат уведомление о любых некритических предупреждениях, возникших во время декодирования.

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

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

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

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

canReadRaster

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

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

Returns:
true если этот плагин поддерживает чтение необработанных Raster.
See Also:
  • 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.

Parameters:
imageIndex - индекс считываемого изображения.
param - объект ImageReadParam, используемый для управления процессом чтения, или null.
Returns:
требуемая часть изображения в виде объекта Raster.
Throws:
UnsupportedOperationException - если этот плагин не поддерживает чтение необработанных Raster.
IllegalStateException - если входной источник не задан.
IndexOutOfBoundsException - если переданный индекс находится вне допустимого диапазона.
IOException - если при чтении произошла ошибка.
See Also:
  • canReadRaster()
  • read(int)
  • Raster

isImageTiled

public boolean isImageTiled(int imageIndex) throws IOException
Возвращает true, если изображение организовано в виде _плиток_, то есть равных по размеру неперекрывающихся прямоугольников.

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

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

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

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

getTileWidth

public int getTileWidth(int imageIndex) throws IOException
Возвращает ширину плитки в заданном изображении.

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

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

getTileHeight

public int getTileHeight(int imageIndex) throws IOException
Возвращает высоту плитки в заданном изображении.

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

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

getTileGridXOffset

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

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

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

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

getTileGridYOffset

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

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

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

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

readTile

public BufferedImage readTile(int imageIndex, int tileX, int tileY) throws IOException
Читает тайл, указанный аргументами tileX и tileY, возвращая его как BufferedImage. Если аргументы выходят за пределы допустимого диапазона, выбрасывается IllegalArgumentException. Если изображение не тайловое, значения 0, 0 вернут всё изображение; любые другие значения приведут к выбрасыванию IllegalArgumentException.

Этот метод просто предоставляет удобный способ вызова read(int, ImageReadParam) с параметром чтения, указывающим область источника со смещениями tileX*getTileWidth(imageIndex), tileY*getTileHeight(imageIndex) и шириной и высотой getTileWidth(imageIndex), getTileHeight(imageIndex); и коэффициентами субдискретизации 1 и смещениями 0. Чтобы субдискретизировать тайл, вызовите read с параметром чтения, указывающим эту область и различные параметры субдискретизации.

Реализация по умолчанию возвращает всё изображение, если tileX и tileY равны 0, или выбрасывает IllegalArgumentException в противном случае.

Parameters:
imageIndex - индекс изображения для извлечения.
tileX - индекс столбца (начиная с 0) извлекаемого тайла.
tileY - индекс строки (начиная с 0) извлекаемого тайла.
Returns:
тайл в виде BufferedImage.
Throws:
IllegalStateException - если источник ввода не задан.
IndexOutOfBoundsException - если imageIndex выходит за пределы допустимого диапазона.
IllegalArgumentException - если индексы тайла выходят за пределы допустимого диапазона.
IOException - если при чтении произошла ошибка.

readTileRaster

public Raster readTileRaster(int imageIndex, int tileX, int tileY) throws IOException
Возвращает новый объект Raster, содержащий сырые данные пикселей из тайла без применения преобразования цвета. Приложение должно определить, как интерпретировать данные пикселей другими средствами.

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

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

Parameters:
imageIndex - индекс изображения для извлечения.
tileX - индекс столбца (начиная с 0) извлекаемого тайла.
tileY - индекс строки (начиная с 0) извлекаемого тайла.
Returns:
тайл в виде Raster.
Throws:
UnsupportedOperationException - если этот плагин не поддерживает чтение сырых Raster.
IllegalArgumentException - если индексы тайла выходят за пределы допустимого диапазона.
IllegalStateException - если источник ввода не задан.
IndexOutOfBoundsException - если imageIndex выходит за пределы допустимого диапазона.
IOException - если при чтении произошла ошибка.
See Also:
  • 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).

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

readerSupportsThumbnails

public boolean readerSupportsThumbnails()
Возвращает true , если формат изображения, понимаемый этим чтецом, поддерживает миниатюры-превью, связанные с ним. Реализация по умолчанию возвращает false.

Если этот метод возвращает false, hasThumbnails и getNumThumbnails вернут false и 0, соответственно, и readThumbnail выбросит UnsupportedOperationException, независимо от их аргументов.

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

Returns:
true если миниатюры поддерживаются.

hasThumbnails

public boolean hasThumbnails(int imageIndex) throws IOException
Возвращает true если данное изображение имеет связанные с ним миниатюры-превью. Если формат не поддерживает миниатюры (readerSupportsThumbnails возвращает false), false будет возвращено независимо от того, был ли задан источник ввода или imageIndex находится в допустимом диапазоне.

Реализация по умолчанию возвращает true , если getNumThumbnails возвращает значение больше 0.

Parameters:
imageIndex - индекс запрашиваемого изображения.
Returns:
true если у данного изображения есть миниатюры.
Throws:
IllegalStateException - если чтец поддерживает миниатюры, но источник ввода не задан.
IndexOutOfBoundsException - если чтец поддерживает миниатюры, но imageIndex выходит за пределы допустимого диапазона.
IOException - если при чтении произошла ошибка.

getNumThumbnails

public int getNumThumbnails(int imageIndex) throws IOException
Возвращает количество миниатюр-превью, связанных с данным изображением. Если формат не поддерживает миниатюры (readerSupportsThumbnails возвращает false), 0 будет возвращено независимо от того, был ли задан источник ввода или imageIndex находится в допустимом диапазоне.

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

Parameters:
imageIndex - индекс запрашиваемого изображения.
Returns:
количество миниатюр, связанных с данным изображением.
Throws:
IllegalStateException - если чтец поддерживает миниатюры, но источник ввода не задан.
IndexOutOfBoundsException - если чтец поддерживает миниатюры, но imageIndex выходит за пределы допустимого диапазона.
IOException - если при чтении произошла ошибка.

getThumbnailWidth

public int getThumbnailWidth(int imageIndex, int thumbnailIndex) throws IOException
Возвращает ширину изображения предварительного просмотра миниатюры с индексом thumbnailIndex, связанного с изображением с индексом ImageIndex.

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

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

Parameters:
imageIndex - индекс извлекаемого изображения.
thumbnailIndex - индекс извлекаемой миниатюры.
Returns:
ширина желаемой миниатюры в виде int.
Throws:
UnsupportedOperationException - если миниатюры не поддерживаются.
IllegalStateException - если исходный источник не задан.
IndexOutOfBoundsException - если любой из предоставленных индексов находится вне допустимого диапазона.
IOException - если при чтении произошла ошибка.

getThumbnailHeight

public int getThumbnailHeight(int imageIndex, int thumbnailIndex) throws IOException
Возвращает высоту изображения предварительного просмотра миниатюры с индексом thumbnailIndex, связанного с изображением с индексом ImageIndex.

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

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

Parameters:
imageIndex - индекс извлекаемого изображения.
thumbnailIndex - индекс извлекаемой миниатюры.
Returns:
высота желаемой миниатюры в виде int.
Throws:
UnsupportedOperationException - если миниатюры не поддерживаются.
IllegalStateException - если исходный источник не задан.
IndexOutOfBoundsException - если любой из предоставленных индексов находится вне допустимого диапазона.
IOException - если при чтении произошла ошибка.

readThumbnail

public BufferedImage readThumbnail(int imageIndex, int thumbnailIndex) throws IOException
Возвращает изображение предварительного просмотра миниатюры с индексом thumbnailIndex, связанное с изображением с индексом ImageIndex, в виде BufferedImage.

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

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

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

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

abort

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

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

abortRequested

protected boolean abortRequested()
Возвращает true, если запрос на прерывание текущей операции чтения был сделан после создания объекта или после вызова clearAbortRequest.
Returns:
true если текущую операцию чтения следует прервать.
See Also:
  • abort()
  • clearAbortRequest()

clearAbortRequest

protected void clearAbortRequest()
Очищает предыдущий запрос на прерывание. После вызова этого метода abortRequested вернёт false.
See Also:
  • abort()
  • abortRequested()

addIIOReadWarningListener

public void addIIOReadWarningListener(IIOReadWarningListener listener)
Добавляет слушателя предупреждений IIOReadWarningListener в список зарегистрированных слушателей. Если listener равно null, исключение не будет выброшено, и никаких действий не будет выполнено. Сообщения, отправленные данному слушателю, будут локализованы, если возможно, чтобы соответствовать текущему Locale. Если не установлен Locale, сообщения об ошибках могут быть локализованы по усмотрению читателя.
Parameters:
listener - регистрируемый слушатель предупреждений IIOReadWarningListener.
See Also:
  • removeIIOReadWarningListener(javax.imageio.event.IIOReadWarningListener)

removeIIOReadWarningListener

public void removeIIOReadWarningListener(IIOReadWarningListener listener)
Удаляет слушателя предупреждений IIOReadWarningListener из списка зарегистрированных слушателей. Если слушатель не был зарегистрирован ранее, или если listener равно null, исключение не будет выброшено, и никаких действий не будет выполнено.
Parameters:
listener - слушатель предупреждений IIOReadWarningListener для отмены регистрации.
See Also:
  • addIIOReadWarningListener(javax.imageio.event.IIOReadWarningListener)

removeAllIIOReadWarningListeners

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

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

addIIOReadProgressListener

public void addIIOReadProgressListener(IIOReadProgressListener listener)
Добавляет слушателя прогресса IIOReadProgressListener в список зарегистрированных слушателей. Если listener равно null, исключение не будет выброшено, и никаких действий не будет выполнено.
Parameters:
listener - регистрируемый слушатель прогресса IIOReadProgressListener.
See Also:
  • removeIIOReadProgressListener(javax.imageio.event.IIOReadProgressListener)

removeIIOReadProgressListener

public void removeIIOReadProgressListener(IIOReadProgressListener listener)
Удаляет слушателя прогресса IIOReadProgressListener из списка зарегистрированных слушателей. Если слушатель не был зарегистрирован ранее, или если listener равно null, исключение не будет выброшено, и никаких действий не будет выполнено.
Parameters:
listener - слушатель прогресса IIOReadProgressListener для отмены регистрации.
See Also:
  • addIIOReadProgressListener(javax.imageio.event.IIOReadProgressListener)

removeAllIIOReadProgressListeners

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

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

addIIOReadUpdateListener

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

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

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

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

Parameters:
listener - регистрируемый слушатель обновлений IIOReadUpdateListener.
See Also:
  • removeIIOReadUpdateListener(javax.imageio.event.IIOReadUpdateListener)

removeIIOReadUpdateListener

public void removeIIOReadUpdateListener(IIOReadUpdateListener listener)
Удаляет IIOReadUpdateListener из списка зарегистрированных слушателей обновлений. Если слушатель ранее не был зарегистрирован, или если listener является null, исключение не будет выброшено, и никаких действий не будет выполнено.
Parameters:
listener - слушатель IIOReadUpdateListener, который необходимо удалить из списка.
See Also:
  • addIIOReadUpdateListener(javax.imageio.event.IIOReadUpdateListener)

removeAllIIOReadUpdateListeners

public void removeAllIIOReadUpdateListeners()
Удаляет все в настоящее время зарегистрированные объекты IIOReadUpdateListener.

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

processSequenceStarted

protected void processSequenceStarted(int minIndex)
Передает уведомление о начале последовательности чтения изображений всем зарегистрированным IIOReadProgressListener путём вызова их метода sequenceStarted. Подклассы могут использовать этот метод для удобства.
Parameters:
minIndex - наименьший индекс, подлежащий чтению.

processSequenceComplete

protected void processSequenceComplete()
Передает уведомление о завершении последовательности чтения изображений всем зарегистрированным IIOReadProgressListener путём вызова их метода sequenceComplete. Подклассы могут использовать этот метод для удобства.

processImageStarted

protected void processImageStarted(int imageIndex)
Передает уведомление о начале чтения изображения всем зарегистрированным IIOReadProgressListener путём вызова их метода imageStarted. Подклассы могут использовать этот метод для удобства.
Parameters:
imageIndex - индекс изображения, которое собираются прочитать.

processImageProgress

protected void processImageProgress(float percentageDone)
Передает уведомление о текущем проценте завершения чтения изображения всем зарегистрированным IIOReadProgressListener путём вызова их метода imageProgress. Подклассы могут использовать этот метод для удобства.
Parameters:
percentageDone - текущий процент завершения в виде float.

processImageComplete

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

processThumbnailStarted

protected void processThumbnailStarted(int imageIndex, int thumbnailIndex)
Передает уведомление о начале чтения миниатюры всем зарегистрированным IIOReadProgressListener путём вызова их метода thumbnailStarted. Подклассы могут использовать этот метод для удобства.
Parameters:
imageIndex - индекс изображения, связанного с миниатюрой.
thumbnailIndex - индекс миниатюры.

processThumbnailProgress

protected void processThumbnailProgress(float percentageDone)
Передает уведомление о текущем проценте завершения чтения миниатюры всем зарегистрированным IIOReadProgressListener путём вызова их метода thumbnailProgress. Подклассы могут использовать этот метод для удобства.
Parameters:
percentageDone - текущий процент завершения в виде float.

processThumbnailComplete

protected void processThumbnailComplete()
Передает уведомление о завершении чтения миниатюры всем зарегистрированным IIOReadProgressListener путём вызова их метода thumbnailComplete. Подклассы могут использовать этот метод для удобства.

processReadAborted

protected void processReadAborted()
Передает уведомление о прерывании чтения всем зарегистрированным IIOReadProgressListener путём вызова их метода readAborted. Подклассы могут использовать этот метод для удобства.

processPassStarted

protected void processPassStarted(BufferedImage theImage, int pass, int minPass, int maxPass, int minX, int minY, int periodX, int periodY, int[] bands)
Передает уведомление о начале прогрессивного прохода всем зарегистрированным IIOReadUpdateListener путём вызова их метода passStarted. Подклассы могут использовать этот метод для удобства.
Parameters:
theImage - обновляемый BufferedImage.
pass - индекс текущего прохода, начиная с 0.
minPass - индекс первого прохода, который будет декодирован.
maxPass - индекс последнего прохода, который будет декодирован.
minX - координата X левого верхнего пикселя, включенного в проход.
minY - координата X левого верхнего пикселя, включенного в проход.
periodX - горизонтальное расстояние между пикселями.
periodY - вертикальное расстояние между пикселями.
bands - массив int , указывающий на набор затронутых каналов назначения.

processImageUpdate

protected void processImageUpdate(BufferedImage theImage, int minX, int minY, int width, int height, int periodX, int periodY, int[] bands)
Передает уведомление об обновлении набора выборок всем зарегистрированным IIOReadUpdateListener путём вызова их метода imageUpdate. Подклассы могут использовать этот метод для удобства.
Parameters:
theImage - обновляемый BufferedImage.
minX - координата X левого верхнего пикселя, включенного в проход.
minY - координата X левого верхнего пикселя, включенного в проход.
width - общая ширина обновляемой области, включая пропускаемые пиксели, если periodX > 1.
height - общая высота обновляемой области, включая пропускаемые пиксели, если periodY > 1.
periodX - горизонтальное расстояние между пикселями.
periodY - вертикальное расстояние между пикселями.
bands - массив int , указывающий на набор затронутых каналов назначения.

processPassComplete

protected void processPassComplete(BufferedImage theImage)
Передает уведомление о завершении прогрессивного прохода всем зарегистрированным IIOReadUpdateListener путём вызова их метода passComplete. Подклассы могут использовать этот метод для удобства.
Parameters:
theImage - обновляемый BufferedImage.

processThumbnailPassStarted

protected void processThumbnailPassStarted(BufferedImage theThumbnail, int pass, int minPass, int maxPass, int minX, int minY, int periodX, int periodY, int[] bands)
Передает уведомление о начале прогрессивного прохода миниатюры всем зарегистрированным IIOReadUpdateListener путём вызова их метода thumbnailPassStarted. Подклассы могут использовать этот метод для удобства.
Parameters:
theThumbnail - обновляемая BufferedImage миниатюра.
pass - индекс текущего прохода, начиная с 0.
minPass - индекс первого прохода, который будет декодирован.
maxPass - индекс последнего прохода, который будет декодирован.
minX - координата X левого верхнего пикселя, включенного в проход.
minY - координата X левого верхнего пикселя, включенного в проход.
periodX - горизонтальное расстояние между пикселями.
periodY - вертикальное расстояние между пикселями.
bands - массив int , указывающий на набор затронутых каналов назначения.

processThumbnailUpdate

protected void processThumbnailUpdate(BufferedImage theThumbnail, int minX, int minY, int width, int height, int periodX, int periodY, int[] bands)
Передает уведомление об обновлении набора выборок в миниатюре всем зарегистрированным IIOReadUpdateListener путём вызова их метода thumbnailUpdate. Подклассы могут использовать этот метод для удобства.
Parameters:
theThumbnail - обновляемая BufferedImage миниатюра.
minX - координата X левого верхнего пикселя, включенного в проход.
minY - координата X левого верхнего пикселя, включенного в проход.
width - общая ширина обновляемой области, включая пропускаемые пиксели, если periodX > 1.
height - общая высота обновляемой области, включая пропускаемые пиксели, если periodY > 1.
periodX - горизонтальное расстояние между пикселями.
periodY - вертикальное расстояние между пикселями.
bands - массив int , указывающий на набор затронутых каналов назначения.

processThumbnailPassComplete

protected void processThumbnailPassComplete(BufferedImage theThumbnail)
Передает уведомление о завершении прогрессивного прохода миниатюры всем зарегистрированным IIOReadUpdateListener путём вызова их метода thumbnailPassComplete. Подклассы могут использовать этот метод для удобства.
Parameters:
theThumbnail - обновляемая BufferedImage миниатюра.

processWarningOccurred

protected void processWarningOccurred(String warning)
Распространяет сообщение об ошибке до всех зарегистрированных IIOReadWarningListener вызывая их метод warningOccurred. Подклассы могут использовать этот метод для удобства.
Parameters:
warning - сообщение об ошибке для отправки.
Throws:
IllegalArgumentException - если warning является null.

processWarningOccurred

protected void processWarningOccurred(String baseName, String keyword)
Распространяет локализованное сообщение об ошибке до всех зарегистрированных IIOReadWarningListener вызывая их метод warningOccurred со строкой, взятой из ResourceBundle. Подклассы могут использовать этот метод для удобства.
Parameters:
baseName - базовое имя набора ResourceBundle содержащих локализованные сообщения об ошибках.
keyword - ключевое слово для индексирования сообщения об ошибке в наборе ResourceBundle.
Throws:
IllegalArgumentException - если baseName является null.
IllegalArgumentException - если keyword является null.
IllegalArgumentException - если не может быть найден соответствующий ResourceBundle.
IllegalArgumentException - если именованный ресурс не найден в найденном ResourceBundle.
IllegalArgumentException - если объект, полученный из ResourceBundle не является String.

reset

public void reset()
Восстанавливает ImageReader в его начальное состояние.

Стандартная реализация вызывает setInput(null, false), setLocale(null), removeAllIIOReadUpdateListeners(), removeAllIIOReadWarningListeners(), removeAllIIOReadProgressListeners(), и clearAbortRequest.

dispose

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

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

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

getSourceRegion

protected static Rectangle getSourceRegion(ImageReadParam param, int srcWidth, int srcHeight)
Утилитарный метод, который может быть использован читателями для вычисления области исходного изображения, которое должно быть считано, с учетом всех настроек области исходного изображения и смещения субдискретизации в предоставленном ImageReadParam. Фактические коэффициенты субдискретизации, размер назначения и смещение назначения не учитываются, поэтому необходимо выполнить дополнительное обрезание. Метод computeRegions выполняет все необходимые обрезки.
Parameters:
param - используемый ImageReadParam, или null.
srcWidth - ширина исходного изображения.
srcHeight - высота исходного изображения.
Returns:
область исходного изображения в виде Rectangle.

computeRegions

protected static void computeRegions(ImageReadParam param, int srcWidth, int srcHeight, BufferedImage image, Rectangle srcRegion, Rectangle destRegion)
Вычисляет область исходного изображения и область назначения, учитывая ширину и высоту исходного изображения, необязательное целевое изображение и необязательное ImageReadParam. Область исходного изображения начинается с всего исходного изображения. Затем она обрезается до области исходного изображения, указанной в ImageReadParam, если она указана.

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

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

Если область исходного или целевого изображения оказывается с шириной или высотой 0, выбрасывается IllegalArgumentException.

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

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

checkReadParamBandSettings

protected static void checkReadParamBandSettings(ImageReadParam param, int numSrcBands, int numDstBands)
Утилитарный метод, который может быть использован читателями для проверки корректности настроек исходных и целевых каналов ImageReadParam. Этот метод может быть вызван как только читатель узнает количество каналов исходного изображения, как оно существует в потоке ввода, и количество каналов целевого изображения, которое будет записано.

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

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

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

Parameters:
param - используемый ImageReadParam для чтения изображения.
numSrcBands - количество каналов изображения, как оно существует в исходном потоке.
numDstBands - количество каналов в целевом изображении, которое записывается.
Throws:
IllegalArgumentException - если param содержит недопустимое описание подмножества исходных и/или целевых каналов.

getDestination

protected static BufferedImage getDestination(ImageReadParam param, Iterator<ImageTypeSpecifier> imageTypes, int width, int height) throws IIOException
Возвращает BufferedImage для записи декодированных данных пикселей. Изображение определяется путем проверки предоставленного ImageReadParam если оно не null; если его метод getDestination возвращает значение, отличное от null, то это изображение просто возвращается. В противном случае вызывается метод param.getDestinationType для определения, указан ли определенный тип изображения. Если да, то возвращаемое ImageTypeSpecifier используется после проверки на равенство одному из включенных в imageTypes.

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

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

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

© 1993, 2021, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/17/docs/api/java.desktop/javax/imageio/ImageReader.html

Spec-Zone.ru

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