Spec-Zone.ru › OpenJDK 27

Класс ImageWriter

java.lang.Object
javax.imageio.ImageWriter
Все реализуемые интерфейсы:
ImageTranscoder
public abstract class ImageWriter extends Object implements ImageTranscoder
Абстрактный суперкласс для кодирования и записи изображений. Этот класс должны расширять классы, записывающие изображения в рамках платформы Java Image I/O.

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

См. также:
  • ImageReader
  • ImageWriteParam
  • IIORegistry
  • ImageWriterSpi

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

Модификатор и тип Поле Описание
protected Locale[] availableLocales
Массив объектов Locale, которые можно использовать для локализации предупреждений и значений параметров сжатия, или null, если локализация не поддерживается.
protected Locale locale
Текущий объект Locale, используемый для локализации, или null, если он не задан.
protected ImageWriterSpi originatingProvider
Объект ImageWriterSpi, создавший этот объект, или null, если его идентификатор неизвестен или он отсутствует.
protected Object output
Объект ImageOutputStream или другой объект Object, заданный методом setOutput и получаемый методом getOutput.
protected List<IIOWriteProgressListener> progressListeners
Объект List, содержащий зарегистрированные в данный момент объекты IIOWriteProgressListener; по умолчанию инициализируется значением null, которое эквивалентно пустому объекту List.
protected List<IIOWriteWarningListener> warningListeners
Объект List, содержащий зарегистрированные в данный момент объекты IIOWriteWarningListener; по умолчанию инициализируется значением null, которое эквивалентно пустому объекту List.
protected List<Locale> warningLocales
Объект List, содержащий объекты Locale, по одному для каждого элемента warningListeners; по умолчанию инициализируется значением null, которое эквивалентно пустому объекту List.

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

ImageWriter(ImageWriterSpi originatingProvider)
Модификатор Конструктор Описание
protected
Создает объект ImageWriter и устанавливает для его переменной экземпляра originatingProvider указанное значение.

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

Модификатор и тип Метод Описание
void abort()
Запрашивает прерывание текущей операции записи.
protected boolean abortRequested()
Возвращает true, если после создания средства записи или вызова clearAbortRequest поступил запрос на прерывание текущей операции записи.
void addIIOWriteProgressListener(IIOWriteProgressListener listener)
Добавляет объект IIOWriteProgressListener в список зарегистрированных слушателей хода выполнения.
void addIIOWriteWarningListener(IIOWriteWarningListener listener)
Добавляет объект IIOWriteWarningListener в список зарегистрированных слушателей предупреждений.
boolean canInsertEmpty(int imageIndex)
Возвращает true, если средство записи поддерживает вставку нового пустого изображения по указанному индексу.
boolean canInsertImage(int imageIndex)
Возвращает true, если средство записи поддерживает вставку нового изображения по указанному индексу.
boolean canRemoveImage(int imageIndex)
Возвращает true, если средство записи поддерживает удаление существующего изображения по указанному индексу.
boolean canReplaceImageMetadata(int imageIndex)
Возвращает true, если можно заменить метаданные изображения, связанные с существующим изображением с индексом imageIndex.
boolean canReplacePixels(int imageIndex)
Возвращает true, если средство записи позволяет заменять пиксели указанного изображения с помощью методов replacePixels.
boolean canReplaceStreamMetadata()
Возвращает true, если можно заменить метаданные потока, уже имеющиеся в выходных данных.
boolean canWriteEmpty()
Возвращает true, если средство записи поддерживает запись в выходные данные полного потока изображений, состоящего из одного изображения с неопределенными значениями пикселей, связанными метаданными и миниатюрами.
boolean canWriteRasters()
Возвращает true, если методы, принимающие параметр IIOImage, могут обрабатывать исходное изображение типа Raster (в отличие от RenderedImage).
boolean canWriteSequence()
Возвращает true, если средство записи может добавить изображение в поток изображений, уже содержащий заголовочную информацию и, возможно, предыдущие изображения.
protected void clearAbortRequest()
Сбрасывает все предыдущие запросы на прерывание.
void dispose()
Позволяет освободить все ресурсы, удерживаемые этим объектом.
void endInsertEmpty()
Завершает вставку нового изображения, начатую предыдущим вызовом prepareInsertEmpty.
void endReplacePixels()
Завершает последовательность вызовов replacePixels.
void endWriteEmpty()
Завершает запись нового изображения, начатую предыдущим вызовом prepareWriteEmpty.
void endWriteSequence()
Завершает запись последовательности изображений, начатую вызовом prepareWriteSequence.
Locale[] getAvailableLocales()
Возвращает массив объектов Locale, которые можно использовать для локализации слушателей предупреждений и параметров сжатия.
abstract IIOMetadata getDefaultImageMetadata(ImageTypeSpecifier imageType, ImageWriteParam param)
Возвращает объект IIOMetadata, содержащий значения по умолчанию для кодирования изображения заданного типа.
abstract IIOMetadata getDefaultStreamMetadata(ImageWriteParam param)
Возвращает объект IIOMetadata, содержащий значения по умолчанию для кодирования потока изображений.
ImageWriteParam getDefaultWriteParam()
Возвращает новый объект ImageWriteParam соответствующего типа для этого формата файла, содержащий значения по умолчанию, то есть значения, которые использовались бы, если бы объект ImageWriteParam не был указан.
Locale getLocale()
Возвращает текущий объект Locale или null, если он не задан.
int getNumThumbnailsSupported(ImageTypeSpecifier imageType, ImageWriteParam param, IIOMetadata streamMetadata, IIOMetadata imageMetadata)
Возвращает количество миниатюр, поддерживаемых форматом записи, с учетом типа изображения, а также дополнительных параметров записи и объектов метаданных, которые будут использоваться при кодировании.
ImageWriterSpi getOriginatingProvider()
Возвращает объект ImageWriterSpi, создавший этот объект ImageWriter, или null, если этот объект был создан не через IIORegistry.
Object getOutput()
Возвращает объект ImageOutputStream или другой объект Object, заданный последним вызовом метода setOutput.
Dimension[] getPreferredThumbnailSizes(ImageTypeSpecifier imageType, ImageWriteParam param, IIOMetadata streamMetadata, IIOMetadata imageMetadata)
Возвращает массив объектов Dimension, указывающих допустимые диапазоны размеров миниатюр, кодируемых в выходном файле или потоке.
void prepareInsertEmpty(int imageIndex, ImageTypeSpecifier imageType, int width, int height, IIOMetadata imageMetadata, List<? extends BufferedImage> thumbnails, ImageWriteParam param)
Начинает вставку нового изображения с неопределенными значениями пикселей в существующий поток изображений.
void prepareReplacePixels(int imageIndex, Rectangle region)
Подготавливает средство записи к обработке серии вызовов методов replacePixels.
void prepareWriteEmpty(IIOMetadata streamMetadata, ImageTypeSpecifier imageType, int width, int height, IIOMetadata imageMetadata, List<? extends BufferedImage> thumbnails, ImageWriteParam param)
Начинает запись в выходные данные полного потока изображений, состоящего из одного изображения с неопределенными значениями пикселей, связанными метаданными и миниатюрами.
void prepareWriteSequence(IIOMetadata streamMetadata)
Подготавливает поток к серии последующих вызовов writeToSequence, используя предоставленный объект метаданных потока.
protected void processImageComplete()
Оповещает всех зарегистрированных слушателей IIOWriteProgressListener о завершении записи изображения, вызывая их метод imageComplete.
protected void processImageProgress(float percentageDone)
Оповещает всех зарегистрированных слушателей IIOWriteProgressListener о текущем проценте выполнения записи изображения, вызывая их метод imageProgress.
protected void processImageStarted(int imageIndex)
Оповещает всех зарегистрированных слушателей IIOWriteProgressListener о начале записи изображения, вызывая их метод imageStarted.
protected void processThumbnailComplete()
Оповещает всех зарегистрированных слушателей IIOWriteProgressListener о завершении записи миниатюры, вызывая их метод thumbnailComplete.
protected void processThumbnailProgress(float percentageDone)
Оповещает всех зарегистрированных слушателей IIOWriteProgressListener о текущем проценте выполнения записи миниатюры, вызывая их метод thumbnailProgress.
protected void processThumbnailStarted(int imageIndex, int thumbnailIndex)
Оповещает всех зарегистрированных слушателей IIOWriteProgressListener о начале записи миниатюры, вызывая их метод thumbnailStarted.
protected void processWarningOccurred(int imageIndex, String warning)
Оповещает всех зарегистрированных слушателей IIOWriteWarningListener о предупреждении, вызывая их метод warningOccurred.
protected void processWarningOccurred(int imageIndex, String baseName, String keyword)
Оповещает всех зарегистрированных слушателей IIOWriteWarningListener о локализованном предупреждении, вызывая их метод warningOccurred со строкой, полученной из объекта ResourceBundle.
protected void processWriteAborted()
Оповещает всех зарегистрированных слушателей IIOWriteProgressListener о прерывании записи, вызывая их метод writeAborted.
void removeAllIIOWriteProgressListeners()
Удаляет все зарегистрированные в данный момент объекты IIOWriteProgressListener.
void removeAllIIOWriteWarningListeners()
Удаляет все зарегистрированные в данный момент объекты IIOWriteWarningListener.
void removeIIOWriteProgressListener(IIOWriteProgressListener listener)
Удаляет объект IIOWriteProgressListener из списка зарегистрированных слушателей хода выполнения.
void removeIIOWriteWarningListener(IIOWriteWarningListener listener)
Удаляет объект IIOWriteWarningListener из списка зарегистрированных слушателей предупреждений.
void removeImage(int imageIndex)
Удаляет изображение из потока.
void replaceImageMetadata(int imageIndex, IIOMetadata imageMetadata)
Заменяет метаданные изображения, связанные с существующим изображением.
void replacePixels(Raster raster, ImageWriteParam param)
Заменяет часть изображения, уже имеющегося в выходных данных, частью указанного объекта Raster.
void replacePixels(RenderedImage image, ImageWriteParam param)
Заменяет часть изображения, уже имеющегося в выходных данных, частью указанного изображения.
void replaceStreamMetadata(IIOMetadata streamMetadata)
Заменяет метаданные потока в выходных данных новой информацией.
void reset()
Восстанавливает исходное состояние объекта ImageWriter.
void setLocale(Locale locale)
Устанавливает для текущего объекта Locale этого объекта ImageWriter указанное значение.
void setOutput(Object output)
Задает в качестве назначения указанный объект ImageOutputStream или другой объект Object.
void write(RenderedImage image)
Добавляет в выходные данные полный поток изображений, состоящий из одного изображения со стандартными метаданными и миниатюрами.
void write(IIOImage image)
Добавляет в выходные данные полный поток изображений, содержащий одно изображение со стандартными метаданными и миниатюрами.
abstract void write(IIOMetadata streamMetadata, IIOImage image, ImageWriteParam param)
Добавляет в выходные данные полный поток изображений, содержащий одно изображение, связанные с ним метаданные потока и изображения, а также миниатюры.
void writeInsert(int imageIndex, IIOImage image, ImageWriteParam param)
Вставляет новое изображение в существующий поток изображений.
void writeToSequence(IIOImage image, ImageWriteParam param)
Добавляет в выходные данные одно изображение и, возможно, связанные с ним метаданные и миниатюры.

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

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Модификатор и тип Метод Описание
protected Object clone()
Создает и возвращает копию этого объекта.
boolean equals(Object obj)
Определяет, является ли другой объект «равным» этому объекту.
protected void finalize()
Устарело, подлежит удалению: этот элемент API планируется удалить в одной из будущих версий.
Финализация устарела и планируется к удалению в одном из будущих выпусков.
final Class<?> getClass()
Возвращает класс времени выполнения этого объекта Object.
int hashCode()
Возвращает хеш-код этого объекта.
final void notify()
Пробуждает один поток, ожидающий на мониторе этого объекта.
final void notifyAll()
Пробуждает все потоки, ожидающие на мониторе этого объекта.
String toString()
Возвращает строковое представление объекта.
final void wait()
Приостанавливает текущий поток до его пробуждения, обычно в результате вызова notify или interrupt.
final void wait(long timeoutMillis)
Приостанавливает текущий поток до его пробуждения, обычно в результате вызова notify или interrupt, либо до истечения заданного промежутка реального времени.
final void wait(long timeoutMillis, int nanos)
Приостанавливает текущий поток до его пробуждения, обычно в результате вызова notify или interrupt, либо до истечения заданного промежутка реального времени.

Методы, объявленные в интерфейсе ImageTranscoder

convertImageMetadata, convertStreamMetadata
Модификатор и тип Метод Описание
IIOMetadata convertImageMetadata(IIOMetadata inData, ImageTypeSpecifier imageType, ImageWriteParam param)
Возвращает объект IIOMetadata, который можно использовать для кодирования и при необходимости изменить с помощью его документированных интерфейсов или других интерфейсов, специфичных для подключаемого модуля средства записи, используемого для кодирования.
IIOMetadata convertStreamMetadata(IIOMetadata inData, ImageWriteParam param)
Возвращает объект IIOMetadata, который можно использовать для кодирования и при необходимости изменить с помощью его документированных интерфейсов или других интерфейсов, специфичных для подключаемого модуля средства записи, используемого для кодирования.

Подробное описание полей

originatingProvider

protected ImageWriterSpi originatingProvider
ImageWriterSpi, создавший этот объект, или null, если его принадлежность неизвестна или такой объект отсутствует. По умолчанию инициализируется значением null.

output

protected Object output
ImageOutputStream или другой Object, заданный с помощью setOutput и получаемый с помощью getOutput. По умолчанию инициализируется значением null.

availableLocales

protected Locale[] availableLocales
Массив объектов Locale, которые могут использоваться для локализации предупреждений и значений параметров сжатия, или null, если локализация не поддерживается. По умолчанию инициализируется значением null.

locale

protected Locale locale
Текущий Locale, используемый для локализации, или null, если он не задан. По умолчанию инициализируется значением null.

warningListeners

protected List<IIOWriteWarningListener> warningListeners
List зарегистрированных в данный момент объектов IIOWriteWarningListener, по умолчанию инициализируемый значением null, которое является синонимом пустого List.

warningLocales

protected List<Locale> warningLocales
List объектов Locale, по одному для каждого элемента warningListeners; по умолчанию инициализируется значением null, которое является синонимом пустого List.

progressListeners

protected List<IIOWriteProgressListener> progressListeners
List зарегистрированных в данный момент объектов IIOWriteProgressListener, по умолчанию инициализируемый значением null, которое является синонимом пустого List.

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

ImageWriter

protected ImageWriter(ImageWriterSpi originatingProvider)
Создает ImageWriter и задает указанное значение переменной экземпляра originatingProvider.

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

Параметры:
originatingProvider — ImageWriterSpi, создающий этот объект, или null.

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

getOriginatingProvider

public ImageWriterSpi getOriginatingProvider()
Возвращает объект ImageWriterSpi, создавший этот ImageWriter, или null, если этот объект был создан не посредством IIORegistry.

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

Возвращает:
объект ImageWriterSpi или null.
См. также:
  • ImageWriterSpi

setOutput

public void setOutput(Object output)
Задает в качестве места назначения указанный ImageOutputStream или другой Object. Предполагается, что место назначения готово принимать данные; оно не будет закрыто после каждой операции записи. Это позволяет распределенным приложениям обработки изображений передавать последовательность изображений через одно сетевое соединение. Если output равно null, все ранее заданные выходные данные будут удалены.

Если output является ImageOutputStream, вызовы методов write, writeToSequence и prepareWriteEmpty/endWriteEmpty сохранят существующее содержимое потока. Для других методов записи, таких как writeInsert, replaceStreamMetadata, replaceImageMetadata, replacePixels, prepareInsertEmpty/endInsertEmpty и endWriteSequence, необходимо, чтобы все содержимое потока было доступно для чтения и записи; они могут изменять любую часть потока.

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

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

Параметры:
output — ImageOutputStream или другой Object для последующей записи.
Исключения:
IllegalArgumentException — если output не является экземпляром одного из классов, возвращаемых методом getOutputTypes исходного поставщика службы.
См. также:
  • getOutput()

getOutput

public Object getOutput()
Возвращает ImageOutputStream или другой Object, заданный последним вызовом метода setOutput. Если место назначения не задано, возвращается null.

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

Возвращает:
Object, заданный с помощью setOutput, или null.
См. также:
  • setOutput(Object)

getAvailableLocales

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

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

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

setLocale

public void setLocale(Locale locale)
Задает текущее Locale этого ImageWriter указанным значением. Значение null удаляет все предыдущие настройки и указывает, что средство записи должно самостоятельно выбрать способ локализации.

Реализация по умолчанию проверяет locale на соответствие значениям, возвращаемым getAvailableLocales, и задает переменную экземпляра locale, если значение найдено. Если locale равно null, переменной экземпляра присваивается null без проверки.

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

getLocale

public Locale getLocale()
Возвращает текущее заданное Locale или null, если оно не задано.

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

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

getDefaultWriteParam

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

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

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

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

getDefaultStreamMetadata

public abstract IIOMetadata getDefaultStreamMetadata(ImageWriteParam param)
Возвращает объект IIOMetadata, содержащий значения по умолчанию для кодирования потока изображений. Содержимое объекта можно изменять с помощью XML-структуры дерева, возвращаемой методом IIOMetadata.getAsTree, объекта IIOMetadataController или интерфейсов, специфичных для подключаемого модуля; полученные данные можно передать одному из методов write, принимающих параметр метаданных потока.

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

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

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

Параметры:
param — ImageWriteParam, который будет использоваться для кодирования изображения, или null.
Возвращает:
объект IIOMetadata.

getDefaultImageMetadata

public abstract IIOMetadata getDefaultImageMetadata(ImageTypeSpecifier imageType, ImageWriteParam param)
Возвращает объект IIOMetadata, содержащий значения по умолчанию для кодирования изображения указанного типа. Содержимое объекта можно изменять с помощью XML-структуры дерева, возвращаемой методом IIOMetadata.getAsTree, объекта IIOMetadataController или интерфейсов, специфичных для подключаемого модуля; полученные данные можно передать одному из методов write, принимающих параметр метаданных потока.

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

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

Параметры:
imageType — ImageTypeSpecifier, указывающий формат изображения, которое будет записано позднее.
param — ImageWriteParam, который будет использоваться для кодирования изображения, или null.
Возвращает:
объект IIOMetadata.

getNumThumbnailsSupported

public int getNumThumbnailsSupported(ImageTypeSpecifier imageType, ImageWriteParam param, IIOMetadata streamMetadata, IIOMetadata imageMetadata)
Возвращает число эскизов, поддерживаемых записываемым форматом с учетом типа изображения, а также дополнительных параметров записи и объектов метаданных, которые будут использоваться при кодировании. Возвращаемое значение -1 указывает, что доступной информации недостаточно.

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

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

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

Параметры:
imageType — ImageTypeSpecifier, указывающий тип записываемого изображения, или null.
param — ImageWriteParam, который будет использоваться для записи, или null.
streamMetadata — объект IIOMetadata, который будет использоваться для записи, или null.
imageMetadata — объект IIOMetadata, который будет использоваться для записи, или null.
Возвращает:
число эскизов, которые можно записать с учетом заданных параметров, или -1, если доступной информации недостаточно.

getPreferredThumbnailSizes

public Dimension[] getPreferredThumbnailSizes(ImageTypeSpecifier imageType, ImageWriteParam param, IIOMetadata streamMetadata, IIOMetadata imageMetadata)
Возвращает массив объектов Dimension, указывающих допустимые диапазоны размеров эскизов в выходном файле или потоке. Эта информация носит рекомендательный характер; средство записи при необходимости изменит размер предоставленных эскизов.

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

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

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

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

Параметры:
imageType — ImageTypeSpecifier, указывающий тип записываемого изображения, или null.
param — ImageWriteParam, который будет использоваться для записи, или null.
streamMetadata — объект IIOMetadata, который будет использоваться для записи, или null.
imageMetadata — объект IIOMetadata, который будет использоваться для записи, или null.
Возвращает:
массив объектов Dimension четной длины, содержащий не менее двух элементов, или null.

canWriteRasters

public boolean canWriteRasters()
Возвращает true, если методы, принимающие параметр IIOImage, способны обрабатывать исходное изображение типа Raster (в отличие от RenderedImage). Если этот метод возвращает false, при передаче в эти методы объекта IIOImage, содержащего Raster, будет выброшено исключение UnsupportedOperationException.

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

Возвращает:
true, если источники Raster поддерживаются.

write

public abstract void write(IIOMetadata streamMetadata, IIOImage image, ImageWriteParam param) throws IOException
Добавляет к выходным данным полный поток изображения, содержащий одно изображение, связанные с ним метаданные потока и изображения, а также эскизы. Включается вся необходимая информация заголовка. Если выходные данные являются ImageOutputStream, существующее содержимое до текущей позиции поиска не затрагивается, и его не обязательно можно читать или изменять.

Перед этим необходимо задать выходные данные с помощью метода setOutput.

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

Если canWriteRasters возвращает true, объект IIOImage может содержать источник типа Raster. В противном случае он должен содержать источник типа RenderedImage.

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

Для управления процессом записи можно указать необязательный ImageWriteParam. Если param равно null, будут использованы параметры записи по умолчанию.

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

Параметры:
streamMetadata — объект IIOMetadata, представляющий метаданные потока, или null для использования значений по умолчанию.
image — объект IIOImage, содержащий изображение, эскизы и метаданные для записи.
param — объект ImageWriteParam или null для использования параметров ImageWriteParam по умолчанию.
Исключения:
IllegalStateException — если выходные данные не заданы.
UnsupportedOperationException — если image содержит Raster, а canWriteRasters возвращает false.
IllegalArgumentException — если image равно null.
IOException — если во время записи произошла ошибка.

write

public void write(IIOImage image) throws IOException
Добавляет к выходным данным полный поток изображения, содержащий одно изображение с метаданными и эскизами по умолчанию. Этот метод является сокращенной формой вызова write(null, image, null).
Параметры:
image — объект IIOImage, содержащий изображение, эскизы и метаданные для записи.
Исключения:
IllegalStateException — если выходные данные не заданы.
IllegalArgumentException — если image равно null.
UnsupportedOperationException — если image содержит Raster, а canWriteRasters возвращает false.
IOException — если во время записи произошла ошибка.

write

public void write(RenderedImage image) throws IOException
Добавляет к выходным данным полный поток изображения, состоящий из одного изображения с метаданными и эскизами по умолчанию. Этот метод является сокращенной формой вызова write(null, new IIOImage(image, null, null), null).
Параметры:
image — RenderedImage для записи.
Исключения:
IllegalStateException — если выходные данные не заданы.
IllegalArgumentException — если image равно null.
IOException — если во время записи произошла ошибка.

canWriteSequence

public boolean canWriteSequence()
Возвращает true, если средство записи может добавить изображение в поток изображений, который уже содержит информацию заголовка и, возможно, предыдущие изображения.

Если canWriteSequence возвращает false, вызовы writeToSequence и endWriteSequence приведут к выбрасыванию исключения UnsupportedOperationException.

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

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

prepareWriteSequence

public void prepareWriteSequence(IIOMetadata streamMetadata) throws IOException
Подготавливает поток к серии последующих вызовов writeToSequence, используя предоставленный объект метаданных потока. Метаданные будут записаны в поток, если их следует разместить перед данными изображения. Если аргумент равен null, используются метаданные потока по умолчанию.

Если выходные данные являются ImageOutputStream, существующее содержимое до текущей позиции поиска сбрасывается; его не обязательно можно читать или изменять. Если для формата требуется, чтобы endWriteSequence мог переместиться назад, чтобы исправить информацию заголовка, как, например, при записи последовательности изображений в один файл TIFF, метаданные, записанные этим методом, должны находиться в доступной для записи части потока. Для других форматов поток может сбрасываться после этого метода и после каждого изображения.

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

Перед этим необходимо задать выходные данные с помощью метода setOutput.

Реализация по умолчанию выбрасывает IllegalStateException, если выходные данные равны null, и в противном случае выбрасывает UnsupportedOperationException.

Параметры:
streamMetadata — объект метаданных потока или null.
Исключения:
IllegalStateException — если выходные данные не заданы.
UnsupportedOperationException — если canWriteSequence возвращает false.
IOException — если при записи метаданных потока произошла ошибка.

writeToSequence

public void writeToSequence(IIOImage image, ImageWriteParam param) throws IOException
Добавляет к выходным данным одно изображение, а также, возможно, связанные с ним метаданные и эскизы. Если выходные данные являются ImageOutputStream, существующее содержимое до текущей позиции поиска может быть сброшено; его не обязательно можно читать или изменять, за исключением случаев, когда подключаемому модулю необходимо исправить информацию заголовка при вызове endWriteSequence (например, для TIFF).

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

Перед этим необходимо задать выходные данные с помощью метода setOutput.

Перед этим должен быть вызван prepareWriteSequence, иначе будет выброшено IllegalStateException.

Если canWriteRasters возвращает true, объект IIOImage может содержать источник типа Raster. В противном случае он должен содержать источник типа RenderedImage.

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

Для управления процессом записи можно указать необязательный ImageWriteParam. Если param равно null, будут использованы параметры записи по умолчанию.

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

Реализация по умолчанию выбрасывает IllegalStateException, если выходные данные равны null, и в противном случае выбрасывает UnsupportedOperationException.

Параметры:
image — объект IIOImage, содержащий изображение, эскизы и метаданные для записи.
param — объект ImageWriteParam или null для использования параметров ImageWriteParam по умолчанию.
Исключения:
IllegalStateException — если выходные данные не заданы или не был вызван prepareWriteSequence.
UnsupportedOperationException — если canWriteSequence возвращает false.
IllegalArgumentException — если image равно null.
UnsupportedOperationException — если image содержит Raster, а canWriteRasters возвращает false.
IOException — если во время записи произошла ошибка.

endWriteSequence

public void endWriteSequence() throws IOException
Завершает запись последовательности изображений, начатой вызовом prepareWriteSequence. Записываются метаданные потока, которые должны находиться в конце последовательности изображений, и при необходимости исправляется информация заголовка в ее начале. Если выходные данные являются ImageOutputStream, данные вплоть до метаданных потока в конце последовательности сбрасываются; их не обязательно можно читать или изменять.

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

Реализация по умолчанию выбрасывает IllegalStateException, если выходные данные равны null, и в противном случае выбрасывает UnsupportedOperationException.

Исключения:
IllegalStateException — если выходные данные не заданы или не был вызван prepareWriteSequence.
UnsupportedOperationException — если canWriteSequence возвращает false.
IOException — если во время записи произошла ошибка.

canReplaceStreamMetadata

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

Реализация по умолчанию выбрасывает IllegalStateException, если выходные данные равны null, и в противном случае возвращает false.

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

replaceStreamMetadata

public void replaceStreamMetadata(IIOMetadata streamMetadata) throws IOException
Заменяет метаданные потока в выходных данных новой информацией. Если выходные данные являются ImageOutputStream, предыдущее содержимое потока проверяется и, возможно, изменяется, чтобы освободить место для новых данных. Все предыдущее содержимое выходных данных должно быть доступно для чтения и записи.

Если canReplaceStreamMetadata возвращает false, будет выброшено UnsupportedOperationException.

Реализация по умолчанию выбрасывает IllegalStateException, если выходные данные равны null, и в противном случае выбрасывает UnsupportedOperationException.

Параметры:
streamMetadata — объект IIOMetadata, представляющий метаданные потока, или null для использования значений по умолчанию.
Исключения:
IllegalStateException — если выходные данные не заданы.
UnsupportedOperationException — если canReplaceStreamMetadata возвращает false. режимы не включают
IOException — если во время записи произошла ошибка.

canReplaceImageMetadata

public boolean canReplaceImageMetadata(int imageIndex) throws IOException
Возвращает true, если метаданные изображения, связанные с существующим изображением с индексом imageIndex, можно заменить. Если этот метод возвращает false, вызов replaceImageMetadata(imageIndex) приведёт к возникновению UnsupportedOperationException.

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

Реализация по умолчанию выбрасывает IllegalStateException, если выходной поток — null, в противном случае возвращает false, не проверяя значение imageIndex.

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

replaceImageMetadata

public void replaceImageMetadata(int imageIndex, IIOMetadata imageMetadata) throws IOException
Заменяет метаданные изображения, связанные с существующим изображением.

Если canReplaceImageMetadata(imageIndex) возвращает false, будет выброшено UnsupportedOperationException.

Реализация по умолчанию выбрасывает IllegalStateException, если выходной поток — null, в противном случае выбрасывает UnsupportedOperationException.

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

canInsertImage

public boolean canInsertImage(int imageIndex) throws IOException
Возвращает true, если устройство поддерживает вставку нового изображения с указанным индексом. Индексы существующих изображений, большие или равные индексу вставки, будут увеличены на 1. Значение -1 для imageIndex можно использовать для обозначения индекса, на единицу большего текущего наибольшего индекса.

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

Реализация по умолчанию выбрасывает IllegalStateException, если выходной поток — null, в противном случае возвращает false, не проверяя значение imageIndex.

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

writeInsert

public void writeInsert(int imageIndex, IIOImage image, ImageWriteParam param) throws IOException
Вставляет новое изображение в существующий поток изображений. Существующие изображения с индексом, большим imageIndex, сохраняются, а их индексы увеличиваются на 1. Значение -1 для imageIndex можно использовать для обозначения индекса, на единицу большего предыдущего наибольшего индекса; это приведёт к логическому добавлению изображения в конец последовательности. Если выходной поток — ImageOutputStream, весь поток должен быть доступен как для чтения, так и для записи.

Если canInsertImage(imageIndex) возвращает false, будет выброшено UnsupportedOperationException.

Для управления процессом записи можно дополнительно указать ImageWriteParam. Если param равно null, будет использоваться параметр записи по умолчанию.

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

Реализация по умолчанию выбрасывает IllegalStateException, если выходной поток — null, в противном случае выбрасывает UnsupportedOperationException.

Параметры:
imageIndex — индекс, по которому следует записать изображение.
image — объект IIOImage, содержащий изображение, миниатюры и метаданные для записи.
param — объект ImageWriteParam или null для использования ImageWriteParam по умолчанию.
Выбрасывает:
IllegalStateException — если выходной поток не задан.
UnsupportedOperationException — если canInsertImage(imageIndex) возвращает false.
IllegalArgumentException — если image равно null.
IndexOutOfBoundsException — если imageIndex меньше -1 или больше наибольшего доступного индекса.
UnsupportedOperationException — если image содержит Raster, а canWriteRasters возвращает false.
IOException — если во время записи произошла ошибка.

canRemoveImage

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

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

Реализация по умолчанию выбрасывает IllegalStateException, если выходной поток — null, в противном случае возвращает false, не проверяя значение imageIndex.

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

removeImage

public void removeImage(int imageIndex) throws IOException
Удаляет изображение из потока.

Если canRemoveImage(imageIndex) возвращает false, будет выброшено UnsupportedOperationException.

Удаление может как привести, так и не привести к уменьшению фактического размера файла.

Реализация по умолчанию выбрасывает IllegalStateException, если выходной поток — null, в противном случае выбрасывает UnsupportedOperationException.

Параметры:
imageIndex — индекс изображения, которое необходимо удалить.
Выбрасывает:
IllegalStateException — если выходной поток не задан.
UnsupportedOperationException — если canRemoveImage(imageIndex) возвращает false.
IndexOutOfBoundsException — если imageIndex меньше 0 или больше наибольшего доступного индекса.
IOException — если во время удаления произошла ошибка ввода-вывода.

canWriteEmpty

public boolean canWriteEmpty() throws IOException
Возвращает true, если устройство поддерживает запись в выходной поток полного потока изображений, состоящего из одного изображения с неопределёнными значениями пикселей и связанными с ним метаданными и миниатюрами. Значения пикселей можно задать последующими вызовами методов replacePixels. Если выходной поток — ImageOutputStream, его существующее содержимое до текущей позиции поиска не затрагивается и не обязано быть доступным для чтения или записи.

Реализация по умолчанию выбрасывает IllegalStateException, если выходной поток — null, в противном случае возвращает false.

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

prepareWriteEmpty

public void prepareWriteEmpty(IIOMetadata streamMetadata, ImageTypeSpecifier imageType, int width, int height, IIOMetadata imageMetadata, List<? extends BufferedImage> thumbnails, ImageWriteParam param) throws IOException
Начинает запись в выходной поток полного потока изображений, состоящего из одного изображения с неопределёнными значениями пикселей и связанными с ним метаданными и миниатюрами. Значения пикселей будут заданы последующими вызовами методов replacePixels. Если выходной поток — ImageOutputStream, его существующее содержимое до текущей позиции поиска не затрагивается и не обязано быть доступным для чтения или записи.

Запись будет завершена только после вызова endWriteEmpty. Между вызовами prepareWriteEmpty и endWriteEmpty могут выполняться вызовы prepareReplacePixels, replacePixels и endReplacePixels. Однако вызовы prepareWriteEmpty не могут быть вложенными, а вызовы prepareWriteEmpty и prepareInsertEmpty не могут чередоваться.

Если canWriteEmpty возвращает false, будет выброшено UnsupportedOperationException.

Для управления процессом записи можно дополнительно указать ImageWriteParam. Если param равно null, будет использоваться параметр записи по умолчанию.

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

Реализация по умолчанию выбрасывает IllegalStateException, если выходной поток — null, в противном случае выбрасывает UnsupportedOperationException.

Параметры:
streamMetadata — объект IIOMetadata, представляющий метаданные потока, или null для использования значений по умолчанию.
imageType — объект ImageTypeSpecifier, описывающий структуру изображения.
width — ширина изображения.
height — высота изображения.
imageMetadata — объект IIOMetadata, представляющий метаданные изображения, или null.
thumbnails — объект List, содержащий BufferedImage миниатюр этого изображения, или null.
param — объект ImageWriteParam или null для использования ImageWriteParam по умолчанию.
Выбрасывает:
IllegalStateException — если выходной поток не задан.
UnsupportedOperationException — если canWriteEmpty возвращает false.
IllegalStateException — если предыдущий вызов prepareWriteEmpty был выполнен без соответствующего вызова endWriteEmpty.
IllegalStateException — если предыдущий вызов prepareInsertEmpty был выполнен без соответствующего вызова endInsertEmpty.
IllegalArgumentException — если imageType равно null или thumbnails содержит ссылки на null либо объекты, отличные от BufferedImage.
IllegalArgumentException — если ширина или высота меньше 1.
IOException — если во время записи произошла ошибка ввода-вывода.

endWriteEmpty

public void endWriteEmpty() throws IOException
Завершает запись нового изображения, начатую предыдущим вызовом prepareWriteEmpty.

Если canWriteEmpty() возвращает false, будет выброшено UnsupportedOperationException.

Реализация по умолчанию выбрасывает IllegalStateException, если выходной поток — null, в противном случае выбрасывает UnsupportedOperationException.

Выбрасывает:
IllegalStateException — если выходной поток не задан.
UnsupportedOperationException — если canWriteEmpty(imageIndex) возвращает false.
IllegalStateException — если предыдущий вызов prepareWriteEmpty был выполнен без соответствующего вызова endWriteEmpty.
IllegalStateException — если предыдущий вызов prepareInsertEmpty был выполнен без соответствующего вызова endInsertEmpty.
IllegalStateException — если вызов prepareReiplacePixels был выполнен без соответствующего вызова endReplacePixels.
IOException — если во время записи произошла ошибка ввода-вывода.

canInsertEmpty

public boolean canInsertEmpty(int imageIndex) throws IOException
Возвращает true, если устройство поддерживает вставку пустого изображения с неопределёнными значениями пикселей по указанному индексу. Значения пикселей изображения не определены и могут быть заданы частями с помощью методов replacePixels. Индексы существующих изображений, большие или равные индексу вставки, будут увеличены на 1. Значение -1 для imageIndex можно использовать для обозначения индекса, на единицу большего текущего наибольшего индекса.

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

Реализация по умолчанию выбрасывает IllegalStateException, если выходной поток — null, в противном случае возвращает false, не проверяя значение imageIndex.

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

prepareInsertEmpty

public void prepareInsertEmpty(int imageIndex, ImageTypeSpecifier imageType, int width, int height, IIOMetadata imageMetadata, List<? extends BufferedImage> thumbnails, ImageWriteParam param) throws IOException
Начинает вставку нового изображения с неопределёнными значениями пикселей в существующий поток изображений. Существующие изображения с индексом, большим imageIndex, сохраняются, а их индексы увеличиваются на 1. Значение -1 для imageIndex можно использовать для обозначения индекса, на единицу большего предыдущего наибольшего индекса; это приведёт к логическому добавлению изображения в конец последовательности. Если выходной поток — ImageOutputStream, весь поток должен быть доступен как для чтения, так и для записи.

Содержимое изображения можно передать позднее с помощью метода replacePixels. Вставка будет завершена только после вызова endInsertEmpty. Между вызовами prepareInsertEmpty и endInsertEmpty могут выполняться вызовы prepareReplacePixels, replacePixels и endReplacePixels. Однако вызовы prepareInsertEmpty не могут быть вложенными, а вызовы prepareWriteEmpty и prepareInsertEmpty не могут чередоваться.

Если canInsertEmpty(imageIndex) возвращает false, будет выброшено UnsupportedOperationException.

Для управления процессом записи можно дополнительно указать ImageWriteParam. Если param равно null, будет использоваться параметр записи по умолчанию.

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

Реализация по умолчанию выбрасывает IllegalStateException, если выходной поток — null, в противном случае выбрасывает UnsupportedOperationException.

Параметры:
imageIndex — индекс, по которому следует записать изображение.
imageType — объект ImageTypeSpecifier, описывающий структуру изображения.
width — ширина изображения.
height — высота изображения.
imageMetadata — объект IIOMetadata, представляющий метаданные изображения, или null.
thumbnails — объект List, содержащий BufferedImage миниатюр этого изображения, или null.
param — объект ImageWriteParam или null для использования ImageWriteParam по умолчанию.
Выбрасывает:
IllegalStateException — если выходной поток не задан.
UnsupportedOperationException — если canInsertEmpty(imageIndex) возвращает false.
IndexOutOfBoundsException — если imageIndex меньше -1 или больше наибольшего доступного индекса.
IllegalStateException — если предыдущий вызов prepareInsertEmpty был выполнен без соответствующего вызова endInsertEmpty.
IllegalStateException — если предыдущий вызов prepareWriteEmpty был выполнен без соответствующего вызова endWriteEmpty.
IllegalArgumentException — если imageType равно null или thumbnails содержит ссылки на null либо объекты, отличные от BufferedImage.
IllegalArgumentException — если ширина или высота меньше 1.
IOException — если во время записи произошла ошибка ввода-вывода.

endInsertEmpty

public void endInsertEmpty() throws IOException
Завершает вставку нового изображения, начатую предыдущим вызовом prepareInsertEmpty.

Реализация по умолчанию выбрасывает IllegalStateException, если выходной поток — null, в противном случае выбрасывает UnsupportedOperationException.

Выбрасывает:
IllegalStateException — если выходной поток не задан.
UnsupportedOperationException — если canInsertEmpty(imageIndex) возвращает false.
IllegalStateException — если предыдущий вызов prepareInsertEmpty был выполнен без соответствующего вызова endInsertEmpty.
IllegalStateException — если предыдущий вызов prepareWriteEmpty был выполнен без соответствующего вызова endWriteEmpty.
IllegalStateException — если вызов prepareReplacePixels был выполнен без соответствующего вызова endReplacePixels.
IOException — если во время записи произошла ошибка ввода-вывода.

canReplacePixels

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

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

Реализация по умолчанию выбрасывает IllegalStateException, если выходной поток — null, в противном случае возвращает false, не проверяя значение imageIndex.

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

prepareReplacePixels

public void prepareReplacePixels(int imageIndex, Rectangle region) throws IOException
Подготавливает устройство к обработке последовательности вызовов методов replacePixels. Затрагиваемая область пикселей будет обрезана по указанной

Если canReplacePixels возвращает false, будет выброшено UnsupportedOperationException.

Реализация по умолчанию выбрасывает IllegalStateException, если выходной поток — null, в противном случае выбрасывает UnsupportedOperationException.

Параметры:
imageIndex — индекс изображения, пиксели которого необходимо заменить.
region — объект Rectangle, который будет использоваться для обрезки будущих областей пикселей.
Выбрасывает:
IllegalStateException — если выходной поток не задан.
UnsupportedOperationException — если canReplacePixels(imageIndex) возвращает false.
IndexOutOfBoundsException — если imageIndex меньше 0 или больше наибольшего доступного индекса.
IllegalStateException — если ранее был вызван prepareReplacePixels без соответствующего вызова endReplacePixels (т. е., вложенные вызовы не допускаются).
IllegalArgumentException — если region равно null или его ширина либо высота меньше 1.
IOException — если во время подготовки произошла ошибка ввода-вывода.

replacePixels

public void replacePixels(RenderedImage image, ImageWriteParam param) throws IOException
Заменяет часть изображения, уже присутствующего в выходном потоке, соответствующей частью указанного изображения. Данные изображения должны соответствовать структуре существующего изображения или быть преобразуемыми в неё.

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

Для управления процессом записи можно дополнительно указать ImageWriteParam. Если param равно null, будет использоваться параметр записи по умолчанию.

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

Этот метод можно вызвать только после вызова prepareReplacePixels, иначе будет выброшено IllegalStateException.

Реализация по умолчанию выбрасывает IllegalStateException, если выходной поток — null, в противном случае выбрасывает UnsupportedOperationException.

Параметры:
image — объект RenderedImage, содержащий исходные пиксели.
param — объект ImageWriteParam или null для использования ImageWriteParam по умолчанию.
Выбрасывает:
IllegalStateException — если выходной поток не задан.
UnsupportedOperationException — если canReplacePixels(imageIndex) возвращает false.
IllegalStateException — если ранее был вызван prepareReplacePixels без соответствующего вызова endReplacePixels.
IllegalArgumentException — если выполняется любое из следующих условий:
  • image равно null.
  • область пересечения не содержит ни одного пикселя.
  • структура image не соответствует структуре существующего изображения или это устройство не может преобразовать её в неё.
IOException — если во время записи произошла ошибка ввода-вывода.

replacePixels

public void replacePixels(Raster raster, ImageWriteParam param) throws IOException
Заменяет часть изображения, уже присутствующего в выходном потоке, соответствующей частью указанного Raster. Данные изображения должны соответствовать структуре существующего изображения или быть преобразуемыми в неё.

Для управления процессом записи можно дополнительно указать ImageWriteParam. Если param равно null, будет использоваться параметр записи по умолчанию.

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

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

Этот метод можно вызвать только после вызова prepareReplacePixels, иначе будет выброшено IllegalStateException.

Реализация по умолчанию выбрасывает IllegalStateException, если выходной поток — null, в противном случае выбрасывает UnsupportedOperationException.

Параметры:
raster — объект Raster, содержащий исходные пиксели.
param — объект ImageWriteParam или null для использования ImageWriteParam по умолчанию.
Выбрасывает:
IllegalStateException — если выходной поток не задан.
UnsupportedOperationException — если canReplacePixels(imageIndex) возвращает false.
IllegalStateException — если ранее был вызван prepareReplacePixels без соответствующего вызова endReplacePixels.
UnsupportedOperationException — если canWriteRasters возвращает false.
IllegalArgumentException — если выполняется любое из следующих условий:
  • raster равно null.
  • область пересечения не содержит ни одного пикселя.
  • структура raster не соответствует структуре существующего изображения или это устройство не может преобразовать её в неё.
IOException — если во время записи произошла ошибка ввода-вывода.

endReplacePixels

public void endReplacePixels() throws IOException
Завершает последовательность вызовов replacePixels.

Если canReplacePixels возвращает false, будет выброшено UnsupportedOperationException.

Реализация по умолчанию выбрасывает IllegalStateException, если выходной поток — null, в противном случае выбрасывает UnsupportedOperationException.

Выбрасывает:
IllegalStateException — если выходной поток не задан.
UnsupportedOperationException — если canReplacePixels(imageIndex) возвращает false.
IllegalStateException — если ранее был вызван prepareReplacePixels без соответствующего вызова endReplacePixels.
IOException — если во время записи произошла ошибка ввода-вывода.

abort

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

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

abortRequested

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

clearAbortRequest

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

addIIOWriteWarningListener

public void addIIOWriteWarningListener(IIOWriteWarningListener listener)
Добавляет IIOWriteWarningListener в список зарегистрированных слушателей предупреждений. Если listener равен null, исключение не будет выброшено и никаких действий предпринято не будет. Сообщения, отправленные указанному слушателю, по возможности будут локализованы в соответствии с текущим Locale. Если Locale не задан, средство записи может локализовать сообщения предупреждений по своему усмотрению.
Параметры:
listener — IIOWriteWarningListener, который необходимо зарегистрировать.
См. также:
  • removeIIOWriteWarningListener(IIOWriteWarningListener)

removeIIOWriteWarningListener

public void removeIIOWriteWarningListener(IIOWriteWarningListener listener)
Удаляет IIOWriteWarningListener из списка зарегистрированных слушателей предупреждений. Если слушатель не был зарегистрирован ранее или listener равен null, исключение не будет выброшено и никаких действий предпринято не будет.
Параметры:
listener — IIOWriteWarningListener, регистрацию которого необходимо отменить.
См. также:
  • addIIOWriteWarningListener(IIOWriteWarningListener)

removeAllIIOWriteWarningListeners

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

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

addIIOWriteProgressListener

public void addIIOWriteProgressListener(IIOWriteProgressListener listener)
Добавляет IIOWriteProgressListener в список зарегистрированных слушателей выполнения. Если listener равен null, исключение не будет выброшено и никаких действий предпринято не будет.
Параметры:
listener — IIOWriteProgressListener, который необходимо зарегистрировать.
См. также:
  • removeIIOWriteProgressListener(IIOWriteProgressListener)

removeIIOWriteProgressListener

public void removeIIOWriteProgressListener(IIOWriteProgressListener listener)
Удаляет IIOWriteProgressListener из списка зарегистрированных слушателей выполнения. Если слушатель не был зарегистрирован ранее или listener равен null, исключение не будет выброшено и никаких действий предпринято не будет.
Параметры:
listener — IIOWriteProgressListener, регистрацию которого необходимо отменить.
См. также:
  • addIIOWriteProgressListener(IIOWriteProgressListener)

removeAllIIOWriteProgressListeners

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

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

processImageStarted

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

processImageProgress

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

processImageComplete

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

processThumbnailStarted

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

processThumbnailProgress

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

processThumbnailComplete

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

processWriteAborted

protected void processWriteAborted()
Оповещает всех зарегистрированных IIOWriteProgressListener о прерывании записи, вызывая их метод writeAborted. Подклассы могут использовать этот метод для удобства.

processWarningOccurred

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

processWarningOccurred

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

reset

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

Реализация по умолчанию вызывает setOutput(null), setLocale(null), removeAllIIOWriteWarningListeners(), removeAllIIOWriteProgressListeners() и clearAbortRequest.

dispose

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

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

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

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в разделе документации Java SE, содержащем более подробные описания для разработчиков, обзоры концепций, определения терминов, обходные решения и примеры рабочего кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или её аффилированных лиц в США и других странах.
Авторские права © 1993, 2026, Oracle и/или её аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

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

Spec-Zone.ru

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