Класс 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 | Модификатор и тип | Метод | Описание |
|---|---|---|
protected Object |
clone() |
Создает и возвращает копию этого объекта. |
boolean |
equals |
Определяет, является ли другой объект «равным» этому объекту. |
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 |
Приостанавливает текущий поток до его пробуждения, обычно в результате вызова notify или interrupt, либо до истечения заданного промежутка реального времени. |
final void |
wait |
Приостанавливает текущий поток до его пробуждения, обычно в результате вызова notify или interrupt, либо до истечения заданного промежутка реального времени. |
Методы, объявленные в интерфейсе ImageTranscoder
convertImageMetadata, convertStreamMetadata | Модификатор и тип | Метод | Описание |
|---|---|---|
IIOMetadata |
convertImageMetadata |
Возвращает объект IIOMetadata, который можно использовать для кодирования и при необходимости изменить с помощью его документированных интерфейсов или других интерфейсов, специфичных для подключаемого модуля средства записи, используемого для кодирования. |
IIOMetadata |
convertStreamMetadata |
Возвращает объект 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. - См. также:
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, при передаче в эти методы объекта 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, если текущую операцию записи следует прервать. - См. также:
clearAbortRequest
protected void clearAbortRequest()
abortRequested вернёт false.- См. также:
addIIOWriteWarningListener
public void addIIOWriteWarningListener(IIOWriteWarningListener listener)
IIOWriteWarningListener в список зарегистрированных слушателей предупреждений. Если listener равен null, исключение не будет выброшено и никаких действий предпринято не будет. Сообщения, отправленные указанному слушателю, по возможности будут локализованы в соответствии с текущим Locale. Если Locale не задан, средство записи может локализовать сообщения предупреждений по своему усмотрению.- Параметры:
-
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()
Приложениям важно вызывать этот метод, когда они больше не собираются использовать это ImageWriter. В противном случае средство записи может продолжать удерживать ресурсы неопределённо долго.
Реализация этого метода по умолчанию в суперклассе ничего не делает. Реализации в подклассах должны обеспечивать освобождение всех ресурсов, особенно системных.
© 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.