Класс 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 |
Добавляет слушателя прогресса в список зарегистрированных слушателей. |
void |
addIIOWriteWarningListener |
Добавляет слушателя предупреждений в список зарегистрированных слушателей. |
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 |
Удаляет слушателя прогресса из списка зарегистрированных слушателей. |
void |
removeIIOWriteWarningListener |
Удаляет слушателя предупреждений из списка зарегистрированных слушателей. |
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
List, инициализированная по умолчанию значением 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.
- 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не пустой, но не является одним из значений, возвращаемых методом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.
Метаданные потока могут быть необязательно указаны; если они отсутствуют, будут использоваться значения метаданных потока по умолчанию.
Если 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для использования параметра записи по умолчанию. - Исключение:
-
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.
По умолчанию, если вывод является null, выбрасывается исключение IllegalStateException, в противном случае — исключение 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 без проверки границ индекса.
По умолчанию, если вывод является null, выбрасывается исключение IllegalStateException, в противном случае возвращает 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 содержат значения параметров по умолчанию, не поддерживаемые этим писателем (например, прогрессивное кодирование или любые параметры формата), они будут проигнорированы.
По умолчанию, если вывод является null, выбрасывается исключение IllegalStateException, в противном случае — исключение UnsupportedOperationException.
- Parameters:
-
imageIndex- индекс, в который нужно вписать изображение. -
imageType-ImageTypeSpecifier, описывающий макет изображения. -
width- ширина изображения. -
height- высота изображения. -
imageMetadata- объектIIOMetadata, представляющий метаданные изображения, илиnull. -
thumbnails- списокListминиатюр для этого изображения илиnull. -
param-ImageWriteParamилиnullдля использования параметра по умолчаниюImageWriteParam. - 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. По умолчанию, если вывод является null, выбрасывается исключение IllegalStateException, в противном случае — исключение 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 без проверки границ индекса.
По умолчанию, если вывод является null, выбрасывается исключение IllegalStateException, в противном случае возвращает 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.
По умолчанию, если вывод является null, выбрасывается исключение IllegalStateException, в противном случае — исключение 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-RenderedImage, содержащий исходные пиксели. -
param-ImageWriteParam, илиnullдля использования параметра записи по умолчанию. - 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-Raster, содержащий исходные пиксели. -
param-ImageWriteParam, илиnullдля использования параметра записи по умолчанию. - 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-IIOWriteWarningListenerдля регистрации. - See Also:
removeIIOWriteWarningListener
public void removeIIOWriteWarningListener(IIOWriteWarningListener listener)
IIOWriteWarningListener из списка зарегистрированных слушателей предупреждений. Если слушатель не был зарегистрирован ранее, или если listener равно null, исключение не будет выброшено, и никаких действий не будет выполнено.- Parameters:
-
listener-IIOWriteWarningListenerдля отмены регистрации. - See Also:
removeAllIIOWriteWarningListeners
public void removeAllIIOWriteWarningListeners()
IIOWriteWarningListener. Реализация по умолчанию устанавливает переменные экземпляра warningListeners и warningLocales в значение null.
addIIOWriteProgressListener
public void addIIOWriteProgressListener(IIOWriteProgressListener listener)
IIOWriteProgressListener в список зарегистрированных слушателей прогресса. Если listener равно null, исключение не будет выброшено, и никаких действий не будет выполнено.- Parameters:
-
listener-IIOWriteProgressListenerдля регистрации. - See Also:
removeIIOWriteProgressListener
public void removeIIOWriteProgressListener(IIOWriteProgressListener listener)
IIOWriteProgressListener из списка зарегистрированных слушателей прогресса. Если слушатель не был зарегистрирован ранее, или если listener равно null, исключение не будет выброшено, и никаких действий не будет выполнено.- Parameters:
-
listener-IIOWriteProgressListenerдля отмены регистрации. - See Also:
removeAllIIOWriteProgressListeners
public void removeAllIIOWriteProgressListeners()
IIOWriteProgressListener. Реализация по умолчанию устанавливает переменную экземпляра progressListeners в значение null.
processImageStarted
protected void processImageStarted(int imageIndex)
IIOWriteProgressListener, вызывая их метод imageStarted. Подклассы могут использовать этот метод в качестве удобства.- Параметры:
-
imageIndex- индекс изображения, которое будет записано.
processImageProgress
protected void processImageProgress(float percentageDone)
IIOWriteProgressListener, вызывая их метод imageProgress. Подклассы могут использовать этот метод в качестве удобства.- Параметры:
-
percentageDone- текущий процент завершения, в видеfloat.
processImageComplete
protected void processImageComplete()
IIOWriteProgressListener, вызывая их метод imageComplete. Подклассы могут использовать этот метод в качестве удобства.processThumbnailStarted
protected void processThumbnailStarted(int imageIndex, int thumbnailIndex)
IIOWriteProgressListener, вызывая их метод thumbnailStarted. Подклассы могут использовать этот метод в качестве удобства.- Параметры:
-
imageIndex- индекс изображения, связанного с миниатюрой. -
thumbnailIndex- индекс миниатюры.
processThumbnailProgress
protected void processThumbnailProgress(float percentageDone)
IIOWriteProgressListener, вызывая их метод thumbnailProgress. Подклассы могут использовать этот метод в качестве удобства.- Параметры:
-
percentageDone- текущий процент завершения, в видеfloat.
processThumbnailComplete
protected void processThumbnailComplete()
IIOWriteProgressListener, вызывая их метод thumbnailComplete. Подклассы могут использовать этот метод в качестве удобства.processWriteAborted
protected void processWriteAborted()
IIOWriteProgressListener, вызывая их метод writeAborted. Подклассы могут использовать этот метод в качестве удобства.processWarningOccurred
protected void processWarningOccurred(int imageIndex, String warning)
IIOWriteWarningListener, вызывая их метод warningOccurred. Подклассы могут использовать этот метод в качестве удобства.- Параметры:
-
imageIndex- индекс изображения, на котором произошла ошибка. -
warning- сообщение об ошибке. - Исключения:
-
IllegalArgumentException- еслиwarningявляетсяnull.
processWarningOccurred
protected void processWarningOccurred(int imageIndex, String baseName, String keyword)
IIOWriteWarningListener, вызывая их метод warningOccurred со строкой, взятой из ResourceBundle. Подклассы могут использовать этот метод в качестве удобства.- Параметры:
-
imageIndex- индекс изображения, на котором произошла ошибка. -
baseName- базовое имя набораResourceBundle, содержащего локализованные сообщения об ошибках. -
keyword- ключевое слово, используемое для индексации сообщения об ошибке в набореResourceBundle. - Исключения:
-
IllegalArgumentException- еслиbaseNameявляетсяnull. -
IllegalArgumentException- еслиkeywordявляетсяnull. -
IllegalArgumentException- если не удается найти соответствующееResourceBundle. -
IllegalArgumentException- если именованный ресурс не найден в найденномResourceBundle. -
IllegalArgumentException- если объект, полученный изResourceBundle, не являетсяString.
reset
public void reset()
ImageWriter в исходное состояние. Стандартная реализация вызывает setOutput(null), setLocale(null), removeAllIIOWriteWarningListeners(), removeAllIIOWriteProgressListeners() и clearAbortRequest.
dispose
public void dispose()
finalize) после вызова этого метода не определен. Важно, чтобы приложения вызывали этот метод, когда они больше не будут использовать этот ImageWriter. В противном случае писатель может продолжать удерживать ресурсы неопределенно долго.
Стандартная реализация этого метода в суперклассе ничего не делает. Реализации подклассов должны гарантировать, что все ресурсы, особенно нативные ресурсы, будут освобождены.
© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://download.java.net/java/early_access/jdk24/docs/api/java.desktop/javax/imageio/ImageWriter.html