Spec-Zone.ru › OpenJDK 21

Класс 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
Список Locale связанных с каждым текущим зарегистрированным IIOReadWarningListener, инициализирован по умолчанию null, что эквивалентно пустому List.

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

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

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

Modifier and Type Method Description
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
Источник данных или другой объект, установленный методом 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
Массив локалей, которые могут использоваться для локализации сообщений об ошибках, или null, если локализация не поддерживается.

locale

protected Locale locale
Текущая локаль, используемая для локализации, или null, если локаль не задана.

warningListeners

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

warningLocales

protected List<Locale> warningLocales
Список локалей, связанных с каждым зарегистрированным слушателем предупреждений, по умолчанию инициализированный значением null, что эквивалентно пустому списку.

progressListeners

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

updateListeners

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

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

ImageReader

protected ImageReader(ImageReaderSpi originatingProvider)
Конструирует объект ImageReader и устанавливает его поле originatingProvider в переданное значение.

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

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

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

getFormatName

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

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

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

getOriginatingProvider

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

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:
количество изображений, как целое число, или -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:
ширина изображения в пикселях.
Throws:
IllegalStateException - если источник ввода не был установлен.
IndexOutOfBoundsException - если переданный индекс вне диапазона.
IOException - если при чтении информации о ширине из источника ввода произошла ошибка.

getHeight

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

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

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

isRandomAccessEasy

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

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

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

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

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

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

getAspectRatio

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

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

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

getRawImageType

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

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

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

getImageTypes

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

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

Parameters:
imageIndex - индекс изображения, которое нужно retrieved.
Returns:
an Iterator, содержащий как минимум один ImageTypeSpecifier, представляющий рекомендуемые типы изображений для декодирования текущего изображения.
Throws:
IllegalStateException - если источник ввода не задан.
IndexOutOfBoundsException - если указанный индекс находится вне диапазона.
IOException - если при чтении информации о формате из источника ввода произошла ошибка.
See Also:
  • 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 - a 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 содержит значения необязательных настроек, не поддерживаемых этим чтецом (например, размер рендеринга источника или любые параметры, специфичные для формата), они будут проигнорированы.

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

readAll

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

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

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

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

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

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

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

readAll

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

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

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

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

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

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

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

Parameters:
params - an Iterator содержащий ImageReadParam объекты.
Returns:
an 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), должны переопределить этот метод.

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

getTileGridYOffset

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

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

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

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

readTile

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

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

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

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

readTileRaster

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

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

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

Параметры:
imageIndex - индекс изображения для извлечения.
tileX - индекс столбца (начинается с 0) тайла для извлечения.
tileY - индекс строки (начинается с 0) тайла для извлечения.
Возвращает:
тайл как Raster.
Исключение:
UnsupportedOperationException - если этот плагин не поддерживает чтение сырых Raster.
IllegalArgumentException - если индексы тайлов находятся вне границ.
IllegalStateException - если источник ввода не задан.
IndexOutOfBoundsException - если imageIndex находится вне границ.
IOException - если при чтении произошла ошибка.
См. также:
  • readTile(int, int, int)
  • readRaster(int, javax.imageio.ImageReadParam)
  • Raster

readAsRenderedImage

public RenderedImage readAsRenderedImage(int imageIndex, ImageReadParam param) throws IOException
Возвращает объект RenderedImage , который содержит содержимое изображения с индексом imageIndex. По умолчанию возвращаемое изображение просто BufferedImage , возвращаемое read(imageIndex, param).

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

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

Стандартная реализация просто вызывает read(imageIndex, param).

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

readerSupportsThumbnails

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

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

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

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

hasThumbnails

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

Стандартная реализация возвращает true , если getNumThumbnails возвращает значение больше 0.

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

getNumThumbnails

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

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

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

getThumbnailWidth

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

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

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

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

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

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

Метод извлекает массивы настроек полос источника и назначения из параметра, используя методы 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, 2023, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/21/docs/api/java.desktop/javax/imageio/ImageReader.html

Spec-Zone.ru

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