Класс ImageWriter
- Все реализуемые интерфейсы:
ImageTranscoder
public abstract class ImageWriter extends Object implements ImageTranscoder
Объекты ImageWriter обычно создаются классом поставщика службы для конкретного формата. Классы поставщиков служб регистрируются в IIORegistry, который использует их для распознавания форматов и отображения доступных средств чтения и записи форматов.
- См. также:
Краткое описание полей
| Модификатор и тип | Поле | Описание |
|---|---|---|
protected Locale[] |
availableLocales |
Массив объектов Locale, которые можно использовать для локализации предупреждающих сообщений и значений параметров сжатия, или null, если локализация не поддерживается. |
protected Locale |
locale |
Текущий Locale, используемый для локализации, или null, если он не задан. |
protected ImageWriterSpi |
originatingProvider |
Объект ImageWriterSpi, создавший этот объект, или null, если его идентификатор неизвестен или он отсутствует. |
protected Object |
output |
Объект ImageOutputStream или другой объект Object, заданный методом setOutput и получаемый методом getOutput. |
protected List |
progressListeners |
Объект List зарегистрированных в настоящий момент объектов IIOWriteProgressListener, по умолчанию инициализируемый значением null, которое эквивалентно пустому объекту List. |
protected List |
warningListeners |
Объект List зарегистрированных в настоящий момент объектов IIOWriteWarningListener, по умолчанию инициализируемый значением null, которое эквивалентно пустому объекту List. |
protected List |
warningLocales |
Объект List объектов Locale, по одному для каждого элемента warningListeners, по умолчанию инициализируемый значением null, которое эквивалентно пустому объекту List. |
Краткое описание конструкторов
| Модификатор | Конструктор | Описание |
|---|---|---|
protected |
Создает объект ImageWriter и задает его переменной экземпляра originatingProvider предоставленное значение. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
void |
abort() |
Запрашивает прерывание текущей операции записи. |
protected boolean |
abortRequested() |
Возвращает true, если с момента создания средства записи или вызова clearAbortRequest был сделан запрос на прерывание текущей операции записи. |
void |
addIIOWriteProgressListener |
Добавляет объект IIOWriteProgressListener в список зарегистрированных слушателей хода выполнения. |
void |
addIIOWriteWarningListener |
Добавляет объект IIOWriteWarningListener в список зарегистрированных слушателей предупреждений. |
boolean |
canInsertEmpty |
Возвращает true, если средство записи поддерживает вставку нового пустого изображения по заданному индексу. |
boolean |
canInsertImage |
Возвращает true, если средство записи поддерживает вставку нового изображения по заданному индексу. |
boolean |
canRemoveImage |
Возвращает true, если средство записи поддерживает удаление существующего изображения по заданному индексу. |
boolean |
canReplaceImageMetadata |
Возвращает true, если можно заменить метаданные изображения, связанные с существующим изображением с индексом imageIndex. |
boolean |
canReplacePixels |
Возвращает 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 |
Возвращает объект IIOMetadata, содержащий значения по умолчанию для кодирования изображения заданного типа. |
abstract IIOMetadata |
getDefaultStreamMetadata |
Возвращает объект IIOMetadata, содержащий значения по умолчанию для кодирования потока изображений. |
ImageWriteParam |
getDefaultWriteParam() |
Возвращает новый объект ImageWriteParam соответствующего типа для этого формата файла, содержащий значения по умолчанию, то есть значения, которые использовались бы, если бы объект ImageWriteParam не был указан. |
Locale |
getLocale() |
Возвращает текущий Locale или null, если он не задан. |
int |
getNumThumbnailsSupported |
Возвращает количество миниатюр, поддерживаемых записываемым форматом, с учетом типа изображения и любых дополнительных параметров записи и объектов метаданных, которые будут использоваться при кодировании. |
ImageWriterSpi |
getOriginatingProvider() |
Возвращает объект ImageWriterSpi, создавший этот объект ImageWriter, или null, если этот объект создан не через IIORegistry. |
Object |
getOutput() |
Возвращает объект ImageOutputStream или другой объект Object, заданный последним вызовом метода setOutput. |
Dimension[] |
getPreferredThumbnailSizes |
Возвращает массив объектов Dimension, указывающих допустимые диапазоны размеров миниатюр в том виде, в каком они будут закодированы в выходном файле или потоке. |
void |
prepareInsertEmpty |
Начинает вставку нового изображения с неопределенными значениями пикселей в существующий поток изображений. |
void |
prepareReplacePixels |
Подготавливает средство записи к обработке серии вызовов методов replacePixels. |
void |
prepareWriteEmpty |
Начинает запись в выходные данные полного потока изображений, состоящего из одного изображения с неопределенными значениями пикселей, связанными метаданными и миниатюрами. |
void |
prepareWriteSequence |
Подготавливает поток к серии последующих вызовов writeToSequence, используя предоставленный объект метаданных потока. |
protected void |
processImageComplete() |
Рассылает уведомление о завершении записи изображения всем зарегистрированным объектам IIOWriteProgressListener, вызывая их метод imageComplete. |
protected void |
processImageProgress |
Рассылает всем зарегистрированным объектам IIOWriteProgressListener сведения о текущем проценте завершения обработки изображения, вызывая их метод imageProgress. |
protected void |
processImageStarted |
Рассылает уведомление о начале записи изображения всем зарегистрированным объектам IIOWriteProgressListener, вызывая их метод imageStarted. |
protected void |
processThumbnailComplete() |
Рассылает уведомление о завершении записи миниатюры всем зарегистрированным объектам IIOWriteProgressListener, вызывая их метод thumbnailComplete. |
protected void |
processThumbnailProgress |
Рассылает всем зарегистрированным объектам IIOWriteProgressListener сведения о текущем проценте завершения записи миниатюры, вызывая их метод thumbnailProgress. |
protected void |
processThumbnailStarted |
Рассылает уведомление о начале записи миниатюры всем зарегистрированным объектам IIOWriteProgressListener, вызывая их метод thumbnailStarted. |
protected void |
processWarningOccurred |
Рассылает предупреждающее сообщение всем зарегистрированным объектам IIOWriteWarningListener, вызывая их метод warningOccurred. |
protected void |
processWarningOccurred |
Рассылает локализованное предупреждающее сообщение всем зарегистрированным объектам IIOWriteWarningListener, вызывая их метод warningOccurred со строкой, полученной из объекта ResourceBundle. |
protected void |
processWriteAborted() |
Рассылает всем зарегистрированным объектам IIOWriteProgressListener уведомление о прерывании записи, вызывая их метод writeAborted. |
void |
removeAllIIOWriteProgressListeners() |
Удаляет все зарегистрированные в настоящий момент объекты IIOWriteProgressListener. |
void |
removeAllIIOWriteWarningListeners() |
Удаляет все зарегистрированные в настоящий момент объекты IIOWriteWarningListener. |
void |
removeIIOWriteProgressListener |
Удаляет объект IIOWriteProgressListener из списка зарегистрированных слушателей хода выполнения. |
void |
removeIIOWriteWarningListener |
Удаляет объект IIOWriteWarningListener из списка зарегистрированных слушателей предупреждений. |
void |
removeImage |
Удаляет изображение из потока. |
void |
replaceImageMetadata |
Заменяет метаданные изображения, связанные с существующим изображением. |
void |
replacePixels |
Заменяет часть изображения, уже имеющегося в выходных данных, частью заданного Raster. |
void |
replacePixels |
Заменяет часть изображения, уже имеющегося в выходных данных, частью заданного изображения. |
void |
replaceStreamMetadata |
Заменяет метаданные потока в выходных данных новой информацией. |
void |
reset() |
Восстанавливает исходное состояние объекта ImageWriter. |
void |
setLocale |
Задает текущее значение Locale этого объекта ImageWriter. |
void |
setOutput |
Задает в качестве места назначения указанный объект ImageOutputStream или другой объект Object. |
void |
write |
Добавляет в выходные данные полный поток изображений, состоящий из одного изображения с метаданными и миниатюрами по умолчанию. |
void |
write |
Добавляет в выходные данные полный поток изображений, содержащий одно изображение с метаданными и миниатюрами по умолчанию. |
abstract void |
write |
Добавляет в выходные данные полный поток изображений, содержащий одно изображение, связанные метаданные потока и изображения, а также миниатюры. |
void |
writeInsert |
Вставляет новое изображение в существующий поток изображений. |
void |
writeToSequence |
Добавляет в выходные данные одно изображение и, возможно, связанные с ним метаданные и миниатюры. |
Методы, объявленные в классе Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Методы, объявленные в интерфейсе ImageTranscoder
convertImageMetadata, convertStreamMetadata
Подробное описание полей
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. - См. также:
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
public Object getOutput()
ImageOutputStream или другой Object, заданный последним вызовом метода setOutput. Если место назначения не задано, возвращается null. Реализация по умолчанию возвращает значение переменной экземпляра output.
- Возвращает:
Object, указанный с помощьюsetOutput, илиnull.- См. также:
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
public Locale getLocale()
Locale или null, если она не задана. Реализация по умолчанию возвращает значение переменной экземпляра locale.
- Возвращает:
- текущую
Localeилиnull. - См. также:
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, такие методы выбрасывают UnsupportedOperationException, если им передан IIOImage, содержащий Raster. Реализация по умолчанию возвращает 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. Значение imageIndex, равное -1, можно использовать для обозначения индекса, на единицу превышающего текущий наибольший индекс. Записывающий модуль, не поддерживающий вставку изображений, может возвращать 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. Значение imageIndex, равное -1, можно использовать для обозначения индекса, на единицу превышающего предыдущий наибольший индекс; в этом случае изображение логически добавляется в конец последовательности. Если выходной поток является 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. Значение imageIndex, равное -1, можно использовать для обозначения индекса, на единицу превышающего текущий наибольший индекс. Записывающий модуль, не поддерживающий вставку пустых изображений, может возвращать 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. Значение imageIndex, равное -1, можно использовать для обозначения индекса, на единицу превышающего предыдущий наибольший индекс; в этом случае изображение логически добавляется в конец последовательности. Если выходной поток является 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, если с момента создания writer или вызова clearAbortRequest поступил запрос на прерывание текущей операции записи.- Возвращает:
-
true, если текущую операцию записи следует прервать. - См. также:
clearAbortRequest
protected void clearAbortRequest()
abortRequested вернёт false.- См. также:
addIIOWriteWarningListener
public void addIIOWriteWarningListener(IIOWriteWarningListener listener)
IIOWriteWarningListener в список зарегистрированных слушателей предупреждений. Если listener равно null, исключение не выбрасывается и никаких действий не выполняется. Сообщения, отправляемые указанному слушателю, по возможности локализуются в соответствии с текущим Locale. Если Locale не задан, writer может локализовать предупреждения по своему усмотрению.- Параметры:
-
listener—IIOWriteWarningListener, который нужно зарегистрировать. - См. также:
removeIIOWriteWarningListener
public void removeIIOWriteWarningListener(IIOWriteWarningListener listener)
IIOWriteWarningListener из списка зарегистрированных слушателей предупреждений. Если слушатель не был зарегистрирован ранее или listener равно null, исключение не выбрасывается и никаких действий не выполняется.- Параметры:
-
listener—IIOWriteWarningListener, регистрацию которого нужно отменить. - См. также:
removeAllIIOWriteWarningListeners
public void removeAllIIOWriteWarningListeners()
IIOWriteWarningListener. Реализация по умолчанию присваивает переменным экземпляра warningListeners и warningLocales значение null.
addIIOWriteProgressListener
public void addIIOWriteProgressListener(IIOWriteProgressListener listener)
IIOWriteProgressListener в список зарегистрированных слушателей хода выполнения. Если listener равно null, исключение не выбрасывается и никаких действий не выполняется.- Параметры:
-
listener—IIOWriteProgressListener, который нужно зарегистрировать. - См. также:
removeIIOWriteProgressListener
public void removeIIOWriteProgressListener(IIOWriteProgressListener listener)
IIOWriteProgressListener из списка зарегистрированных слушателей хода выполнения. Если слушатель не был зарегистрирован ранее или listener равно null, исключение не выбрасывается и никаких действий не выполняется.- Параметры:
-
listener—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()
finalize) после вызова этого метода не определён. Приложениям важно вызывать этот метод, когда они больше не будут использовать этот ImageWriter. В противном случае writer может продолжать неопределённо долго удерживать ресурсы.
Реализация этого метода по умолчанию в суперклассе ничего не делает. Реализации в подклассах должны обеспечивать освобождение всех ресурсов, особенно собственных ресурсов.
© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/25/docs/api/java.desktop/javax/imageio/ImageWriter.html