Spec-Zone.ru › OpenJDK 24

Класс ImageReader

java.lang.Object
javax.imageio.ImageReader
public abstract class ImageReader extends Object
Абстрактный базовый класс для парсинга и декодирования изображений. Этот класс должен быть расширен классами, которые считывают изображения в контексте Java Image I/O framework.

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

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

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

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

Модификатор и тип Поле Описание
protected Locale[] availableLocales
Массив объектов Locale, которые могут использоваться для локализации сообщений об ошибках, или null, если локализация не поддерживается.
protected boolean ignoreMetadata
true, если текущий источник ввода был помечен как позволяющий игнорировать метаданные setInput.
protected Object input
ImageInputStream или другой Object, заданный setInput и полученный getInput.
protected Locale locale
Текущий Locale, используемый для локализации, или null, если не задан.
protected int minIndex
Наименьший допустимый индекс для чтения, по умолчанию 0.
protected ImageReaderSpi originatingProvider
ImageReaderSpi, который создал этот объект, или null, если его идентичность неизвестна или отсутствует.
protected List<IIOReadProgressListener> progressListeners
Список текущих зарегистрированных IIOReadProgressListener, инициализированный по умолчанию null, что эквивалентно пустому списку List.
protected boolean seekForwardOnly
true, если текущий источник ввода был помечен как допускающий только прямой поиск setInput.
protected List<IIOReadUpdateListener> updateListeners
Список текущих зарегистрированных IIOReadUpdateListener, инициализированный по умолчанию null, что эквивалентно пустому списку List.
protected List<IIOReadWarningListener> warningListeners
Список текущих зарегистрированных IIOReadWarningListener, инициализированный по умолчанию null, что эквивалентно пустому списку List.
protected List<Locale> warningLocales
Список Locale, связанных с каждым текущим зарегистрированным IIOReadWarningListener, инициализированный по умолчанию null, что эквивалентно пустому списку List.

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

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()
Возвращает массив 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
Объект, который инициализировал этот объект, или 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
Список зарегистрированных IIOReadWarningListener, по умолчанию инициализированный значением null, что эквивалентно пустому списку List.

warningLocales

protected List<Locale> warningLocales
Список 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 возвращённое из 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).

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 будет инициализировано значением 0.

Этот метод эквивалентен методу 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 не null, но не является одним из значений, возвращаемых 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.

Параметры:
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, которые наиболее точно представляют "сырой" внутренний формат изображения. Если подходящей пары нет, то должен возвращаться тип, сохраняющий наибольшее количество информации из изображения. Возвращаемое значение также должно быть включено в список значений, возвращаемых 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)
  • IIOParam.setDestinationType(ImageTypeSpecifier)

getDefaultReadParam

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

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

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

getStreamMetadata

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

getStreamMetadata

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

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

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

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

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

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

getImageMetadata

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

getImageMetadata

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

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

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

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

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

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

read

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

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

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

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

read

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

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

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

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

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

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

readAll

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

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

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

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

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

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

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

readAll

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

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

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

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

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

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

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

Parameters:
params - объект Iterator, содержащий объекты ImageReadParam.
Returns:
объект Iterator, представляющий содержимое входного источника в виде объектов 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(). Подклассы должны переопределять этот метод, если это возможно, чтобы избежать принудительной загрузки миниатюры.

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

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

processThumbnailUpdate

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

processThumbnailPassComplete

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

processWarningOccurred

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

processWarningOccurred

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

reset

public void reset()
Возвращает ImageReader в исходное состояние.

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

dispose

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

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

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

getSourceRegion

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

computeRegions

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

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

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

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

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

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

checkReadParamBandSettings

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

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

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

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

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

getDestination

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

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

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

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

© 1993, 2025, 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://download.java.net/java/early_access/jdk24/docs/api/java.desktop/javax/imageio/ImageReader.html

Spec-Zone.ru

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