Spec-Zone.ru › OpenJDK 17

Класс ImageWriter

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

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

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

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

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

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

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

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

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

Методы, объявленные в классе 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 , содержащий зарегистрированные IIOWriteWarningListener , инициализированный по умолчанию значением null, что эквивалентно пустому массиву List.

warningLocales

protected List<Locale> warningLocales
Массив Locale , по одному на каждый элемент в массиве warningListeners, инициализированный по умолчанию значением null, что эквивалентно пустому массиву List.

progressListeners

protected List<IIOWriteProgressListener> progressListeners
Массив List , содержащий зарегистрированные 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:
  • ImageWriterSpi

setOutput

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

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

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

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

Parameters:
output - ImageOutputStream или другой объект Object , используемый для будущих записей.
Throws:
IllegalArgumentException - если output не является экземпляром одного из классов, возвращаемых методом getOutputTypes исходного поставщика услуг.
See Also:
  • getOutput()

getOutput

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

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

Returns:
назначение Object, заданное с помощью setOutput, или null.
See Also:
  • setOutput(java.lang.Object)

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()

getLocale

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

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

Returns:
текущее Locale, или null.
See Also:
  • setLocale(java.util.Locale)

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)
Возвращает массив Dimensions, указывающий допустимые диапазоны размеров миниатюр изображений, так как они будут закодированы в выходном файле или потоке. Эта информация носит лишь рекомендательный характер; записыватель будет переформатировать любые предоставленные миниатюры по необходимости.

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

Необязательно можно предоставить параметр ImageWriteParam для случаев, когда он может повлиять на обработку миниатюр.

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

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

Parameters:
imageType - объект ImageTypeSpecifier, указывающий тип записываемого изображения, или null.
param - ImageWriteParam который будет использован для записи, или null.
streamMetadata - объект IIOMetadata, который будет использован для записи, или null.
imageMetadata - объект IIOMetadata, который будет использован для записи, или null.
Returns:
массив Dimensions с чётной длиной не менее двух, или 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 для использования параметра записи по умолчанию.
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 может использоваться для обозначения индекса, на 1 больше, чем текущий наибольший индекс.

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

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

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

writeInsert

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

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

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

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

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

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

canRemoveImage

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

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

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

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

removeImage

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

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

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

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

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

canWriteEmpty

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

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

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

prepareWriteEmpty

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

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

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

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

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

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

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

endWriteEmpty

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

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

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

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 - объект 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:
  • abort()
  • clearAbortRequest()

clearAbortRequest

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

addIIOWriteWarningListener

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

removeIIOWriteWarningListener

public void removeIIOWriteWarningListener(IIOWriteWarningListener listener)
Удаляет IIOWriteWarningListener из списка зарегистрированных слушателей предупреждений. Если слушатель не был ранее зарегистрирован, или если listener является null, исключение не будет выброшено, и никаких действий не будет выполнено.
Parameters:
listener - IIOWriteWarningListener для удаления из списка.
See Also:
  • addIIOWriteWarningListener(javax.imageio.event.IIOWriteWarningListener)

removeAllIIOWriteWarningListeners

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

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

addIIOWriteProgressListener

public void addIIOWriteProgressListener(IIOWriteProgressListener listener)
Добавляет IIOWriteProgressListener в список зарегистрированных слушателей прогресса. Если listener является null, исключение не будет выброшено, и никаких действий не будет выполнено.
Parameters:
listener - IIOWriteProgressListener для регистрации.
See Also:
  • removeIIOWriteProgressListener(javax.imageio.event.IIOWriteProgressListener)

removeIIOWriteProgressListener

public void removeIIOWriteProgressListener(IIOWriteProgressListener listener)
Удаляет IIOWriteProgressListener из списка зарегистрированных слушателей прогресса. Если слушатель не был ранее зарегистрирован, или если listener является null, исключение не будет выброшено, и никаких действий не будет выполнено.
Parameters:
listener - IIOWriteProgressListener для удаления из списка.
See Also:
  • addIIOWriteProgressListener(javax.imageio.event.IIOWriteProgressListener)

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, 2021, 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/17/docs/api/java.desktop/javax/imageio/ImageWriter.html

Spec-Zone.ru

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