Класс 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 |
Список текущих зарегистрированных IIOWriteProgressListener, инициализированный по умолчанию null, что эквивалентно пустому списку List. |
protected List |
warningListeners |
Список текущих зарегистрированных IIOWriteWarningListener, инициализированный по умолчанию null, что эквивалентно пустому списку List. |
protected List |
warningLocales |
Список 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 |
Добавляет одно изображение и, возможно, связанные с ним метаданные и миниатюры в выходные данные. |
Методы, объявленные в классе java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Методы, объявленные в интерфейсе javax.imageio.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
IIOWriteWarningListener, инициализированная по умолчанию значением null, что эквивалентно пустой List.warningLocales
protected List<Locale> warningLocales
List, по одному на каждый элемент warningListeners, инициализированная по умолчанию null, что эквивалентно пустой List.progressListeners
protected List<IIOWriteProgressListener> progressListeners
IIOWriteProgressListener, инициализированная по умолчанию null, что эквивалентно пустой List.Подробное описание конструкторов
ImageWriter
protected ImageWriter(ImageWriterSpi originatingProvider)
ImageWriter и устанавливает его переменную originatingProvider в предоставленное значение. Подклассы, использующие расширения, должны предоставить конструктор с сигнатурой (ImageWriterSpi, Object) для получения объекта расширения. Если объект расширения не подходит, должно быть выброшено исключение IllegalArgumentException.
- Parameters:
-
originatingProvider-ImageWriterSpi, который создаёт этот объект, илиnull.
Подробное описание методов
getOriginatingProvider
public ImageWriterSpi getOriginatingProvider()
ImageWriterSpi, который создал этот объект ImageWriter, или null, если этот объект не был создан через IIORegistry. Стандартная реализация возвращает значение переменной originatingProvider.
- Returns:
- объект
ImageWriterSpiилиnull. - See Also:
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 на соответствие набору классов, рекламируемому поставщиком услуг, если он есть.
- Parameters:
-
output-ImageOutputStreamили другоеObject, используемые для будущей записи. - Throws:
-
IllegalArgumentException- еслиoutputне является экземпляром одного из классов, возвращённых методомgetOutputTypesпоставщика услуг. - See Also:
getOutput
public Object getOutput()
ImageOutputStream или другое Object, установленное последним вызовом метода setOutput. Если место назначения не было установлено, возвращается null. Стандартная реализация возвращает значение переменной output.
- Returns:
Object, указанное с помощьюsetOutput, илиnull.- See Also:
getAvailableLocales
public Locale[] getAvailableLocales()
Locale, которые могут быть использованы для локализации слушателей предупреждений и параметров сжатия. Значение null указывает, что локализация не поддерживается. Стандартная реализация возвращает копию переменной availableLocales, если она не равна null, в противном случае возвращает null.
- Returns:
- массив
Locale, которые могут быть использованы в качестве аргументов дляsetLocale, илиnull.
setLocale
public void setLocale(Locale locale)
Locale этого ImageWriter в заданное значение. Значение null удаляет любые предыдущие настройки и указывает, что писатель должен выполнить локализацию по своему усмотрению. Стандартная реализация проверяет locale на соответствие значениям, возвращённым getAvailableLocales, и устанавливает переменную locale, если она найдена. Если locale равно null, переменная устанавливается в null без проверок.
- Parameters:
-
locale- желаемыйLocaleилиnull. - Throws:
-
IllegalArgumentException- еслиlocaleне равноnull, но не является одним из значений, возвращённыхgetAvailableLocales. - See Also:
getLocale
public Locale getLocale()
Locale или null, если не установлен. Стандартная реализация возвращает значение переменной locale.
- Returns:
- текущий
Localeилиnull. - See Also:
getDefaultWriteParam
public ImageWriteParam getDefaultWriteParam()
ImageWriteParam соответствующего типа для этого формата файла, содержащий значения по умолчанию, то есть те значения, которые будут использоваться, если не указан объект ImageWriteParam. Это полезно в качестве отправной точки для настройки лишь нескольких параметров и оставления значений по умолчанию неизменными. Стандартная реализация создаёт и возвращает новый объект ImageWriteParam, который не допускает чередования, пошагового кодирования или сжатия и будет локализован для текущего Locale (т.е., то, что вы получите, вызвав new ImageWriteParam(getLocale())).
Отдельные плагины могут возвращать экземпляр ImageWriteParam с включёнными дополнительными опциональными функциями или они могут возвращать экземпляр подкласса плагина ImageWriteParam.
- Returns:
- новый объект
ImageWriteParam, содержащий значения по умолчанию.
getDefaultStreamMetadata
public abstract IIOMetadata getDefaultStreamMetadata(ImageWriteParam param)
IIOMetadata, содержащий значения по умолчанию для кодирования потока изображений. Содержимое объекта можно изменить, используя либо структуру XML-дерева, возвращаемую методом IIOMetadata.getAsTree, объект IIOMetadataController, или через интерфейсы, специфичные для плагинов, а полученные данные передать одному из методов write, принимающих параметр метаданных потока. Для случаев, когда это может повлиять на структуру метаданных потока, можно предоставить необязательный параметр ImageWriteParam.
Если предоставленный ImageWriteParam содержит значения дополнительных настроек, не поддерживаемые этим записывателем (например, прогрессивную кодировку или любые настройки, специфичные для формата), они будут проигнорированы.
Записыватели, которые не используют метаданные потока (например, записыватели для форматов одиночных изображений), должны вернуть null.
- Parameters:
-
param-ImageWriteParam, который будет использован для кодирования изображения, илиnull. - Returns:
- объект
IIOMetadata.
getDefaultImageMetadata
public abstract IIOMetadata getDefaultImageMetadata(ImageTypeSpecifier imageType, ImageWriteParam param)
IIOMetadata, содержащий значения по умолчанию для кодирования изображения заданного типа. Содержимое объекта можно изменить, используя либо структуру XML-дерева, возвращаемую методом IIOMetadata.getAsTree, объект IIOMetadataController, или через интерфейсы, специфичные для плагинов, а полученные данные передать одному из методов write, принимающих параметр метаданных потока. Для случаев, когда это может повлиять на структуру метаданных изображения, можно предоставить необязательный параметр ImageWriteParam.
Если предоставленный ImageWriteParam содержит значения дополнительных настроек, не поддерживаемые этим записывателем (например, прогрессивную кодировку или любые настройки, специфичные для формата), они будут проигнорированы.
- Parameters:
-
imageType-ImageTypeSpecifier, указывающий формат изображения, которое будет записано позже. -
param-ImageWriteParam, который будет использован для кодирования изображения, илиnull. - Returns:
- объект
IIOMetadata.
getNumThumbnailsSupported
public int getNumThumbnailsSupported(ImageTypeSpecifier imageType, ImageWriteParam param, IIOMetadata streamMetadata, IIOMetadata imageMetadata)
-1 указывает, что недостаточно информации. Необязательно можно предоставить параметр ImageWriteParam для случаев, когда он может повлиять на обработку миниатюр.
Если предоставленный ImageWriteParam содержит значения дополнительных настроек, не поддерживаемые этим записывателем (например, прогрессивную кодировку или любые настройки, специфичные для формата), они будут проигнорированы.
Реализация по умолчанию возвращает 0.
- Parameters:
-
imageType-ImageTypeSpecifier, указывающий тип записываемого изображения, илиnull. -
param-ImageWriteParam, который будет использован для записи, илиnull. -
streamMetadata- объектIIOMetadata, который будет использован для записи, илиnull. -
imageMetadata- объектIIOMetadata, который будет использован для записи, илиnull. - Returns:
- количество миниатюр, которые могут быть записаны, учитывая предоставленные параметры, или
-1, если информации недостаточно.
getPreferredThumbnailSizes
public Dimension[] getPreferredThumbnailSizes(ImageTypeSpecifier imageType, ImageWriteParam param, IIOMetadata streamMetadata, IIOMetadata imageMetadata)
Dimension, указывающий допустимые диапазоны размеров изображений-миниатюр при их кодировании в выходной файл или поток. Эта информация носит лишь рекомендательный характер; записыватель переформатирует любые предоставленные миниатюры по мере необходимости. Информация возвращается в виде набора пар; первый элемент пары содержит минимальную ширину и высоту (включительно), а второй элемент содержит максимальную ширину и высоту (включительно). Вместе каждая пара определяет допустимый диапазон размеров. Для указания фиксированного размера одинаковая ширина и высота будут указаны для обоих элементов. Значение null указывает, что размер произвольный или неизвестен.
Необязательно можно предоставить параметр ImageWriteParam для случаев, когда он может повлиять на обработку миниатюр.
Если предоставленный ImageWriteParam содержит значения дополнительных настроек, не поддерживаемые этим записывателем (например, прогрессивную кодировку или любые настройки, специфичные для формата), они будут проигнорированы.
Реализация по умолчанию возвращает null.
- Parameters:
-
imageType-ImageTypeSpecifier, указывающий тип записываемого изображения, илиnull. -
param-ImageWriteParam, который будет использован для записи, илиnull. -
streamMetadata- объектIIOMetadata, который будет использован для записи, илиnull. -
imageMetadata- объектIIOMetadata, который будет использован для записи, илиnull. - Returns:
- массив
Dimensionс четной длиной не менее двух, илиnull.
canWriteRasters
public boolean canWriteRasters()
true, если методы, принимающие параметр IIOImage, способны обрабатывать источник изображения Raster (в отличие от RenderedImage). Если этот метод возвращает false, то эти методы будут выбрасывать исключение UnsupportedOperationException, если им будет передан IIOImage, содержащий Raster. Реализация по умолчанию возвращает false.
- Returns:
-
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 содержит значения дополнительных настроек, не поддерживаемые этим записывателем (например, прогрессивную кодировку или любые настройки, специфичные для формата), они будут проигнорированы.
- Parameters:
-
streamMetadata- объектIIOMetadata, представляющий метаданные потока, илиnullдля использования значений по умолчанию. -
image- объектIIOImage, содержащий изображение, миниатюры и метаданные для записи. -
param-ImageWriteParam, илиnullдля использования по умолчаниюImageWriteParam. - Throws:
-
IllegalStateException- если выходной поток не задан. -
UnsupportedOperationException- еслиimageсодержит источникRasterиcanWriteRastersвозвращаетfalse. -
IllegalArgumentException- еслиimageравноnull. -
IOException- если при записи произошла ошибка.
write
public void write(IIOImage image) throws IOException
write(null, image, null).- Parameters:
-
image- объектIIOImage, содержащий изображение, миниатюры и метаданные для записи. - Throws:
-
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).- Parameters:
-
image-RenderedImage, который будет записан. - Throws:
-
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.
- Parameters:
-
imageIndex- индекс, по которому необходимо вставить изображение. - Returns:
-
true, если вставка изображения по данному индексу возможна. - Throws:
-
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.
- Parameters:
-
imageIndex- индекс, по которому необходимо записать изображение. -
image- объектIIOImage, содержащий изображение, миниатюры и метаданные для записи. -
param- объектImageWriteParamилиnullдля использования параметра записи по умолчанию. - Throws:
-
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.
- Parameters:
-
imageIndex- индекс изображения, которое нужно удалить. - Returns:
-
true, если удаление заданного изображения возможно. - Throws:
-
IllegalStateException- если вывод не задан. -
IndexOutOfBoundsException- если писатель поддерживает удаление изображений, ноimageIndexменьше 0 или больше максимального доступного индекса. -
IOException- если произошла ошибка ввода-вывода во время запроса.
removeImage
public void removeImage(int imageIndex) throws IOException
Если canRemoveImage(imageIndex) возвращает false, будет брошено исключение UnsupportedOperationException.
Удаление может или не может привести к уменьшению фактического размера файла.
Реализация по умолчанию выбрасывает исключение IllegalStateException, если вывод null, и в противном случае выбрасывает исключение UnsupportedOperationException.
- Parameters:
-
imageIndex- индекс изображения, которое нужно удалить. - Throws:
-
IllegalStateException- если вывод не задан. -
UnsupportedOperationException- еслиcanRemoveImage(imageIndex)возвращаетfalse. -
IndexOutOfBoundsException- еслиimageIndexменьше 0 или больше максимального доступного индекса. -
IOException- если произошла ошибка ввода-вывода во время удаления.
canWriteEmpty
public boolean canWriteEmpty() throws IOException
true, если писатель поддерживает запись полного потока изображений, состоящего из одного изображения с неопределенными значениями пикселей и связанными метаданными и миниатюрами, в выходной поток. Значения пикселей могут быть определены в последующих вызовах методов replacePixels. Если вывод является ImageOutputStream, его содержимое до текущей позиции поиска не изменяется и не обязательно должно быть читаемым или записываемым. Реализация по умолчанию выбрасывает исключение IllegalStateException, если вывод null, и в противном случае возвращает false.
- Returns:
-
true, если запись полного потока изображений с содержимым, которое будет определено позже, поддерживается. - Throws:
-
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. Вызовы prepareReplacePixels, replacePixels и endReplacePixels могут произойти между вызовами prepareWriteEmpty и endWriteEmpty. Однако, вызовы prepareWriteEmpty не могут быть вложены, а вызовы prepareWriteEmpty и prepareInsertEmpty не могут быть перемешаны.
Если canWriteEmpty возвращает false, будет брошено исключение UnsupportedOperationException.
Дополнительные параметры ImageWriteParam могут быть переданы для управления процессом записи. Если param равно null, будет использоваться параметр записи по умолчанию.
Если переданные параметры ImageWriteParam содержат значения дополнительных настроек, которые не поддерживаются этим писателем (например, прогрессивное кодирование или любые настройки, специфичные для формата), они будут проигнорированы.
Реализация по умолчанию выбрасывает исключение IllegalStateException, если вывод null, и в противном случае выбрасывает исключение UnsupportedOperationException.
- Parameters:
-
streamMetadata- объектIIOMetadata, представляющий метаданные потока, илиnullдля использования значений по умолчанию. -
imageType- объектImageTypeSpecifier, описывающий макет изображения. -
width- ширина изображения. -
height- высота изображения. -
imageMetadata- объектIIOMetadata, представляющий метаданные изображения, илиnull. -
thumbnails- списокListминиатюр для этого изображения, илиnull. -
param- объектImageWriteParamилиnullдля использования параметра записи по умолчанию. - Throws:
-
IllegalStateException- если вывод не задан. -
UnsupportedOperationException- еслиcanWriteEmptyвозвращаетfalse. -
IllegalStateException- если был сделан предыдущий вызовprepareWriteEmptyбез соответствующего вызоваendWriteEmpty. -
IllegalStateException- если был сделан предыдущий вызовprepareInsertEmptyбез соответствующего вызоваendInsertEmpty. -
IllegalArgumentException- еслиimageTypeравенnullилиthumbnailsсодержит ссылки или объекты, отличные отBufferedImage. -
IllegalArgumentException- если ширина или высота меньше 1. -
IOException- если во время записи произошла ошибка ввода-вывода.
endWriteEmpty
public void endWriteEmpty() throws IOException
prepareWriteEmpty. Если canWriteEmpty() возвращает false, будет брошено исключение UnsupportedOperationException.
Реализация по умолчанию выбрасывает исключение IllegalStateException, если вывод null, и в противном случае выбрасывает исключение UnsupportedOperationException.
- Throws:
-
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.
- Parameters:
-
imageIndex- индекс, в который будет вставлено изображение. - Returns:
-
true, если пустое изображение может быть вставлено в заданный индекс. - Throws:
-
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. Вызовы методов prepareReplacePixels, replacePixels и endReplacePixels могут быть выполнены между вызовами prepareInsertEmpty и endInsertEmpty. Однако вложенные вызовы prepareInsertEmpty не допускаются, а вызовы prepareWriteEmpty и prepareInsertEmpty не могут быть перемешаны.
Если canInsertEmpty(imageIndex) возвращает false, будет брошено исключение UnsupportedOperationException.
Опционально может быть предоставлен объект ImageWriteParam для управления процессом записи. Если param является null, будет использован параметр записи по умолчанию.
Если предоставленный ImageWriteParam содержит значения параметров, не поддерживаемые этим писателем (например, прогрессивное кодирование или любые параметры формата), они будут проигнорированы.
Реализация по умолчанию выбрасывает исключение IllegalStateException, если вывод null, и в противном случае выбрасывает исключение UnsupportedOperationException.
- Parameters:
-
imageIndex- индекс, в который будет записано изображение. -
imageType- объектImageTypeSpecifier, описывающий структуру изображения. -
width- ширина изображения. -
height- высота изображения. -
imageMetadata- объектIIOMetadata, представляющий метаданные изображения, илиnull. -
thumbnails- списокListминиатюр для этого изображения, илиnull. -
param- объектImageWriteParam, илиnullдля использования параметра записи по умолчанию. - Throws:
-
IllegalStateException- если вывод не задан. -
UnsupportedOperationException- еслиcanInsertEmpty(imageIndex)возвращаетfalse. -
IndexOutOfBoundsException- еслиimageIndexменьше -1 или больше максимального доступного индекса. -
IllegalStateException- если предыдущий вызовprepareInsertEmptyбыл выполнен без соответствующего вызоваendInsertEmpty. -
IllegalStateException- если предыдущий вызовprepareWriteEmptyбыл выполнен без соответствующего вызоваendWriteEmpty. -
IllegalArgumentException- еслиimageTypeявляетсяnullилиthumbnailsсодержит ссылки или объекты, отличные отBufferedImage. -
IllegalArgumentException- если ширина или высота меньше 1. -
IOException- если при записи произошла ошибка ввода-вывода.
endInsertEmpty
public void endInsertEmpty() throws IOException
prepareInsertEmpty. Реализация по умолчанию выбрасывает исключение IllegalStateException, если выходной поток null, и в противном случае выбрасывает исключение UnsupportedOperationException.
- Throws:
-
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.
- Parameters:
-
imageIndex- индекс изображения, пиксели которого нужно заменить. - Returns:
-
true, если пиксели данного изображения могут быть заменены. - Throws:
-
IllegalStateException- если вывод не задан. -
IndexOutOfBoundsException- если писатель поддерживает замену пикселей в общем случае, ноimageIndexменьше 0 или больше максимального доступного индекса. -
IOException- если при запросе произошла ошибка ввода-вывода.
prepareReplacePixels
public void prepareReplacePixels(int imageIndex, Rectangle region) throws IOException
replacePixels. Область затронутых пикселей будет обрезана по предоставленному Если canReplacePixels возвращает false, будет брошено исключение UnsupportedOperationException.
Реализация по умолчанию выбрасывает исключение IllegalStateException, если вывод null, и в противном случае выбрасывает исключение UnsupportedOperationException.
- Parameters:
-
imageIndex- индекс изображения, пиксели которого нужно заменить. -
region- прямоугольникRectangle, который будет использоваться для обрезки будущих областей пикселей. - Throws:
-
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.
- Parameters:
-
image- aRenderedImageсодержащий пиксели источника. -
param- anImageWriteParam, илиnullдля использования параметра записи по умолчаниюImageWriteParam. - Throws:
-
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.
- Parameters:
-
raster- aRasterсодержащий пиксели источника. -
param- anImageWriteParam, илиnullдля использования параметра записи по умолчаниюImageWriteParam. - Throws:
-
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.
- Throws:
-
IllegalStateException- если вывод не задан. -
UnsupportedOperationException- еслиcanReplacePixels(imageIndex)возвращаетfalse. -
IllegalStateException- если нет предыдущего вызоваprepareReplacePixelsбез соответствующего вызоваendReplacePixels. -
IOException- если во время записи произошла ошибка ввода-вывода.
abort
public void abort()
Записыватели должны вызывать clearAbortRequest в начале каждой операции записи и регулярно проверять значение abortRequested во время записи.
abortRequested
protected boolean abortRequested()
true, если запрос на прерывание текущей операции записи был сделан с момента создания записывателя или вызова clearAbortRequest.- Returns:
-
true, если текущая операция записи должна быть прервана. - See Also:
clearAbortRequest
protected void clearAbortRequest()
abortRequested вернет false.- See Also:
addIIOWriteWarningListener
public void addIIOWriteWarningListener(IIOWriteWarningListener listener)
IIOWriteWarningListener в список зарегистрированных слушателей предупреждений. Если listener равно null, исключение не будет выброшено, и никаких действий не будет выполнено. Сообщения, отправленные данному слушателю, будут локализованы, если это возможно, для соответствия текущему Locale. Если Locale не был задан, сообщения о предупреждениях могут быть локализованы по усмотрению записывателя.- Parameters:
-
listener- anIIOWriteWarningListenerдля регистрации. - See Also:
removeIIOWriteWarningListener
public void removeIIOWriteWarningListener(IIOWriteWarningListener listener)
IIOWriteWarningListener из списка зарегистрированных слушателей предупреждений. Если слушатель ранее не был зарегистрирован или если listener равно null, исключение не будет выброшено, и никаких действий не будет выполнено.- Parameters:
-
listener- anIIOWriteWarningListenerдля удаления из списка. - See Also:
removeAllIIOWriteWarningListeners
public void removeAllIIOWriteWarningListeners()
IIOWriteWarningListener. Реализация по умолчанию устанавливает переменные экземпляра warningListeners и warningLocales в null.
addIIOWriteProgressListener
public void addIIOWriteProgressListener(IIOWriteProgressListener listener)
IIOWriteProgressListener в список зарегистрированных слушателей прогресса. Если listener равно null, исключение не будет выброшено, и никаких действий не будет выполнено.- Parameters:
-
listener- anIIOWriteProgressListenerдля регистрации. - See Also:
removeIIOWriteProgressListener
public void removeIIOWriteProgressListener(IIOWriteProgressListener listener)
IIOWriteProgressListener из списка зарегистрированных слушателей прогресса. Если слушатель ранее не был зарегистрирован или если listener равно null, исключение не будет выброшено, и никаких действий не будет выполнено.- Parameters:
-
listener- anIIOWriteProgressListenerдля удаления из списка. - See Also:
removeAllIIOWriteProgressListeners
public void removeAllIIOWriteProgressListeners()
IIOWriteProgressListener. Реализация по умолчанию устанавливает переменную экземпляра progressListeners в null.
processImageStarted
protected void processImageStarted(int imageIndex)
IIOWriteProgressListener, вызывая их метод imageStarted. Подклассы могут использовать этот метод для удобства.- Parameters:
-
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. В противном случае писатель может продолжать удерживать ресурсы неопределенно долго.
Стандартная реализация этого метода в суперклассе ничего не делает. Реализации подклассов должны гарантировать, что все ресурсы, особенно нативные, будут освобождены.
© 1993, 2023, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/21/docs/api/java.desktop/javax/imageio/ImageWriter.html