Spec-Zone.ru › OpenJDK 8

Класс ImageWriter

  • java.lang.Object
    • javax.imageio.ImageWriter
Все реализованные интерфейсы:
ImageTranscoder

public abstract class ImageWriter
extends Object
implements ImageTranscoder

Абстрактный базовый класс для кодирования и записи изображений. Этот класс должен быть расширен классами, которые записывают изображения в контексте фреймворка Java Image I/O.

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

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

Поля

Модификатор и тип Поле и описание
protected Locale[] availableLocales

Массив Locales, которые могут быть использованы для локализации сообщений об ошибках и значений настроек сжатия, или null если локализация не поддерживается.

protected Locale locale

Текущий Locale для локализации, или null если не задан.

protected ImageWriterSpi originatingProvider

ImageWriterSpi который создал этот объект, или null если его идентичность неизвестна или он отсутствует.

protected Object output

ImageOutputStream или другие Object заданные setOutput и полученные с помощью getOutput.

protected List<IIOWriteProgressListener> progressListeners

Массив текущих зарегистрированных IIOWriteProgressListeners, инициализированный по умолчанию null, что эквивалентно пустому массиву.

protected List<IIOWriteWarningListener> warningListeners

Массив текущих зарегистрированных IIOWriteWarningListeners, инициализированный по умолчанию null, что эквивалентно пустому массиву.

protected List<Locale> warningLocales

Массив Locales, по одному для каждого элемента warningListeners, инициализированный по умолчанию null, что эквивалентно пустому массиву.

Конструкторы

Модификатор Конструктор и описание
protected ImageWriter(ImageWriterSpi originatingProvider)

Создает 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()

Очищает предыдущий запрос на отмену.

abstract IIOMetadata convertImageMetadata(IIOMetadata inData, ImageTypeSpecifier imageType, ImageWriteParam param)

Возвращает объект IIOMetadata, который можно использовать для кодирования и, необязательно, изменять с помощью его интерфейсов документа или других интерфейсов, специфичных для плагина-писателя, используемого для кодирования.

abstract IIOMetadata convertStreamMetadata(IIOMetadata inData, ImageWriteParam param)

Возвращает объект IIOMetadata, который может быть использован для кодирования и, необязательно, изменён с помощью его интерфейсов документа или других интерфейсов, специфичных для плагина-писателя, используемого для кодирования.

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)

Возвращает массив Dimensionов, указывающий допустимые диапазоны размеров изображений миниатюр, как они будут закодированы в выходном файле или потоке.

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.

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

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

abstract void write(IIOMetadata streamMetadata, IIOImage image, ImageWriteParam param)

Добавляет полный поток изображений, содержащий одно изображение и связанные метаданные потока и изображения, а также миниатюры, в выходной поток.

void writeInsert(int imageIndex, IIOImage image, ImageWriteParam param)

Добавляет в выходной поток полный поток изображений, состоящий из одного изображения с метаданными по умолчанию и миниатюрами.

abstract void write(IIOMetadata streamMetadata, IIOImage image, ImageWriteParam param)

Вставляет новое изображение в существующий поток изображений.

void writeToSequence(IIOImage image, ImageWriteParam param)

Добавляет одно изображение и, возможно, связанные с ним метаданные и миниатюры в выходной поток.

Methods inherited from class java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Поля

originatingProvider

protected ImageWriterSpi originatingProvider

Объект ImageWriterSpi, который создал этот объект, или null, если его идентификатор неизвестен или отсутствует. По умолчанию инициализируется значением null.

output

protected Object output

ImageOutputStream или другой Object, устанавливаемый setOutput и извлекаемый getOutput. По умолчанию инициализируется значением null.

availableLocales

protected Locale[] availableLocales

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

locale

protected Locale locale

Текущая Locale, которая будет использоваться для локализации, или null, если она не установлена. По умолчанию инициализируется значением null.

warningListeners

protected List<IIOWriteWarningListener> warningListeners

List текущих зарегистрированных IIOWriteWarningListener, инициализированный по умолчанию значением null, что эквивалентно пустому List.

warningLocales

protected List<Locale> warningLocales

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

progressListeners

protected List<IIOWriteProgressListener> progressListeners

List текущих зарегистрированных IIOWriteProgressListener, инициализированный по умолчанию null, что эквивалентно пустому List.

Конструкторы

ImageWriter

protected ImageWriter(ImageWriterSpi originatingProvider)

Создает объект ImageWriter и устанавливает его переменную экземпляра originatingProvider в предоставленное значение.

Подклассы, использующие расширения, должны предоставлять конструктор с сигнатурой (ImageWriterSpi, Object), чтобы получить объект расширения. Если объект расширения не подходит, должно быть выброшено исключение IllegalArgumentException.

Параметры:
originatingProvider - ImageWriterSpi, который создает этот объект, или null.

Методы

getOriginatingProvider

public ImageWriterSpi getOriginatingProvider()

Возвращает объект ImageWriterSpi, который создал этот ImageWriter, или null, если этот объект не был создан через IIORegistry.

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

Возвращает:
объект ImageWriterSpi, или null.
См. также:
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 на соответствие набору классов, объявленных исходным поставщиком услуг, если таковой имеется.

Параметры:
output - ImageOutputStream или другой Object, который будет использоваться для будущей записи.
Исключения:
IllegalArgumentException - если output не является экземпляром одного из классов, возвращаемых методом getOutputTypes исходного поставщика услуг.
См. также:
getOutput()

getOutput

public Object getOutput()

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

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

Возвращает:
Object, указанный с помощью setOutput, или null.
См. также:
setOutput(java.lang.Object)

getAvailableLocales

public Locale[] getAvailableLocales()

Возвращает массив Locale, которые могут быть использованы для локализации прослушивателей предупреждений и параметров сжатия. Значение возврата null указывает на то, что локализация не поддерживается.

Реализация по умолчанию возвращает клон переменной экземпляра availableLocales, если она не null, в противном случае возвращается null.

Возвращает:
массив Locale, которые могут быть использованы в качестве аргументов для setLocale, или null.

setLocale

public void setLocale(Locale locale)

Устанавливает текущую Locale этого ImageWriter в заданное значение. Значение null удаляет все предыдущие настройки и указывает, что записывающее устройство должно выполнять локализацию по своему усмотрению.

Реализация по умолчанию проверяет locale на соответствие значениям, возвращаемым getAvailableLocales, и устанавливает переменную экземпляра locale, если она найдена. Если locale равно null, переменная экземпляра устанавливается в null без проверки.

Параметры:
locale - требуемая Locale, или null.
Исключения:
IllegalArgumentException - если locale не null, но не является одним из значений, возвращаемых getAvailableLocales.
См. также:
getLocale()

getLocale

public Locale getLocale()

Возвращает текущую установленную Locale, или null, если она не установлена.

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

Возвращает:
текущая Locale, или null.
См. также:
setLocale(java.util.Locale)

getDefaultWriteParam

public ImageWriteParam getDefaultWriteParam()

Возвращает новый объект ImageWriteParam соответствующего типа для этого формата файла, содержащий значения по умолчанию, то есть те значения, которые будут использоваться, если объект ImageWriteParam не указан. Это полезно в качестве отправной точки для настройки лишь нескольких параметров и оставления остальных настроек по умолчанию.

Реализация по умолчанию создает и возвращает новый объект ImageWriteParam, который не допускает использование мозаики, прогрессивного кодирования или сжатия, и который будет локализован для текущей Locale (т.е., то, что вы получите, вызвав new ImageWriteParam(getLocale())).

Отдельные подключаемые модули могут возвращать экземпляр ImageWriteParam с включенными дополнительными необязательными функциями, или они могут возвращать экземпляр подкласса ImageWriteParam, специфичного для подключаемого модуля.

Возвращает:
новый объект ImageWriteParam, содержащий значения по умолчанию.

getDefaultStreamMetadata

public abstract IIOMetadata getDefaultStreamMetadata(ImageWriteParam param)

Возвращает объект IIOMetadata, содержащий значения по умолчанию для кодирования потока изображений. Содержимое объекта может быть изменено с помощью структуры XML-дерева, возвращаемого методом IIOMetadata.getAsTree, объекта IIOMetadataController или через интерфейсы, специфичные для подключаемых модулей, а полученные данные передаются одному из методов write, которые принимают параметр метаданных потока.

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

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

Записывающие устройства, которые не используют метаданные потока (например, записывающие устройства для форматов с одним изображением), должны возвращать null.

Параметры:
param - ImageWriteParam, который будет использоваться для кодирования изображения, или null.
Возвращает:
объект IIOMetadata.

getDefaultImageMetadata

public abstract IIOMetadata getDefaultImageMetadata(ImageTypeSpecifier imageType,
                                                    ImageWriteParam param)

Возвращает объект IIOMetadata, содержащий значения по умолчанию для кодирования изображения данного типа. Содержимое объекта может быть изменено с помощью структуры XML-дерева, возвращаемого методом IIOMetadata.getAsTree, объекта IIOMetadataController или через интерфейсы, специфичные для подключаемых модулей, а полученные данные передаются одному из методов write, которые принимают параметр метаданных потока.

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

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

Параметры:
imageType - формат ImageTypeSpecifier изображения, которое будет записано позже.
param - ImageWriteParam для кодирования изображения или null.
Возвращает:
объект IIOMetadata.

convertStreamMetadata

public abstract IIOMetadata convertStreamMetadata(IIOMetadata inData,
                                                  ImageWriteParam param)

Описание скопировано из интерфейса: ImageTranscoder

Возвращает объект IIOMetadata, который можно использовать для кодирования и, при необходимости, изменять с помощью его интерфейсов документов или других интерфейсов, специфичных для плагина-записьщика, который будет использован для кодирования.

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

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

Определено в:
convertStreamMetadata в интерфейсе ImageTranscoder
Параметры:
inData - объект IIOMetadata, представляющий метаданные потока, используемый для инициализации состояния возвращаемого объекта.
param - ImageWriteParam для кодирования изображения или null.
Возвращает:
объект IIOMetadata или null, если плагин не предоставляет возможности кодирования метаданных.

convertImageMetadata

public abstract IIOMetadata convertImageMetadata(IIOMetadata inData,
                                                 ImageTypeSpecifier imageType,
                                                 ImageWriteParam param)

Описание скопировано из интерфейса: ImageTranscoder

Возвращает объект IIOMetadata, который можно использовать для кодирования и, при необходимости, изменять с помощью его интерфейсов документов или других интерфейсов, специфичных для плагина-записьщика, который будет использован для кодирования.

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

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

Определено в:
convertImageMetadata в интерфейсе ImageTranscoder
Параметры:
inData - объект IIOMetadata, представляющий метаданные изображения, используемый для инициализации состояния возвращаемого объекта.
imageType - ImageTypeSpecifier, определяющий макет и информацию о цвете изображения, с которым будут связаны метаданные.
param - ImageWriteParam для кодирования изображения или null.
Возвращает:
объект IIOMetadata или null, если плагин не предоставляет возможности кодирования метаданных.

getNumThumbnailsSupported

public int getNumThumbnailsSupported(ImageTypeSpecifier imageType,
                                     ImageWriteParam param,
                                     IIOMetadata streamMetadata,
                                     IIOMetadata imageMetadata)

Возвращает количество миниатюр, поддерживаемых форматом, который записывается, с учетом типа изображения и дополнительных параметров записи и объектов метаданных, которые будут использоваться при кодировании. Значение -1 указывает на то, что недостаточно информации.

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

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

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

Параметры:
imageType - ImageTypeSpecifier типа записываемого изображения или null.
param - ImageWriteParam для записи или null.
streamMetadata - объект IIOMetadata для записи или null.
imageMetadata - объект IIOMetadata для записи или null.
Возвращает:
количество миниатюр, которые можно записать, с учетом предоставленных параметров, или -1 если информации недостаточно.

getPreferredThumbnailSizes

public Dimension[] getPreferredThumbnailSizes(ImageTypeSpecifier imageType,
                                              ImageWriteParam param,
                                              IIOMetadata streamMetadata,
                                              IIOMetadata imageMetadata)

Возвращает массив Dimensions, указывающий допустимые диапазоны размеров миниатюр изображений в выходном файле или потоке. Эта информация является лишь рекомендательной; записьщик переформатирует любые предоставленные миниатюры по необходимости.

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

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

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

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

Параметры:
imageType - ImageTypeSpecifier типа записываемого изображения или null.
param - ImageWriteParam для записи или null.
streamMetadata - объект IIOMetadata для записи или null.
imageMetadata - объект IIOMetadata для записи или null.
Возвращает:
массив Dimension с чётной длиной не менее двух или null.

canWriteRasters

public boolean canWriteRasters()

Возвращает true если методы, принимающие параметр IIOImage, способны обрабатывать изображение-источник типа Raster (в отличие от RenderedImage). Если этот метод возвращает false, то эти методы будут выбрасывать UnsupportedOperationException, если им будет передан IIOImage, содержащий Raster.

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

Возвращает:
true если источники Raster поддерживаются.

write

public abstract void write(IIOMetadata streamMetadata,
                           IIOImage image,
                           ImageWriteParam param)
                    throws IOException

Добавляет в выходной поток полный поток изображения, содержащий одно изображение и связанные метаданные потока и изображения, а также миниатюры. Включается вся необходимая заголовочная информация. Если вывод — ImageOutputStream, его содержимое до текущей позиции поиска не затрагивается и не должно быть читаемым или записываемым.

Вывод должен быть задан предварительно с помощью метода setOutput.

Метаданные потока можно указать необязательно; если они null, будут использоваться стандартные метаданные потока.

Если canWriteRasters возвращает true, IIOImage может содержать источник Raster. В противном случае, он должен содержать источник RenderedImage.

Предоставленные миниатюры будут изменены по необходимости, а любые миниатюры, превышающие поддерживаемое количество, будут проигнорированы. Если формат требует дополнительных миниатюр, которые не предоставлены, записьщик должен сгенерировать их внутри.

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

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

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

write

public void write(IIOImage image)
           throws IOException

Добавляет в выходной поток полный поток изображения, содержащий одно изображение со стандартными метаданными и миниатюрами. Этот метод является сокращенной формой write(null, image, null).

Параметры:
image - объект IIOImage, содержащий изображение, миниатюры и метаданные для записи.
Исключения:
IllegalStateException - если выходной поток не задан.
IllegalArgumentException - если image — null.
UnsupportedOperationException - если image содержит источник Raster и canWriteRasters возвращает false.
IOException - если при записи произошла ошибка.

write

public void write(RenderedImage image)
           throws IOException

Добавляет в выходной поток полный поток изображения, состоящий из одного изображения со стандартными метаданными и миниатюрами. Этот метод является сокращенной формой write(null, new IIOImage(image, null, null), null).

Параметры:
image - RenderedImage для записи.
Исключения:
IllegalStateException - если выходной поток не задан.
IllegalArgumentException - если image — null.
IOException - если при записи произошла ошибка.

canWriteSequence

public boolean canWriteSequence()

Возвращает true если записыватель способен добавить изображение к потоку изображений, который уже содержит заголовок и, возможно, предыдущие изображения.

Если canWriteSequence возвращает false, writeToSequence и endWriteSequence выбросят исключение UnsupportedOperationException.

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

Возвращает:
true если изображения могут быть добавлены последовательно.

prepareWriteSequence

public void prepareWriteSequence(IIOMetadata streamMetadata)
                          throws IOException

Подготавливает поток для приема серии последующих вызовов writeToSequence, используя предоставленный объект метаданных потока. Метаданные будут записаны в поток, если они должны предшествовать данным изображения. Если аргумент равен null, используются метаданные потока по умолчанию.

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

Если canWriteSequence возвращает false, этот метод выбросит исключение UnsupportedOperationException.

Выходной поток должен быть установлен предварительно с использованием метода setOutput.

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

Параметры:
streamMetadata - объект метаданных потока или null.
Исключения:
IllegalStateException - если выходной поток не был установлен.
UnsupportedOperationException - если canWriteSequence возвращает false.
IOException - если произошла ошибка при записи метаданных потока.

writeToSequence

public void writeToSequence(IIOImage image,
                            ImageWriteParam param)
                     throws IOException

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

Если canWriteSequence возвращает false, этот метод выбросит исключение UnsupportedOperationException.

Выходной поток должен быть установлен предварительно с использованием метода setOutput.

Метод prepareWriteSequence должен быть вызван предварительно, в противном случае будет выброшено исключение IllegalStateException.

Если canWriteRasters возвращает true, IIOImage может содержать Raster источник. В противном случае он должен содержать RenderedImage источник.

Предоставленные миниатюры будут изменены в размерах при необходимости, и любые миниатюры, превышающие поддерживаемое количество, будут проигнорированы. Если формат требует дополнительных миниатюр, которые не предоставлены, записыватель сгенерирует их внутри.

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

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

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

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

endWriteSequence

public void endWriteSequence()
                      throws IOException

Завершает запись последовательности изображений, начатой с prepareWriteSequence. Любые метаданные потока, которые должны быть записаны в конце последовательности изображений, записываются, а любая информация о заголовке в начале последовательности исправляется при необходимости. Если выходной поток является ImageOutputStream, данные до метаданных потока в конце последовательности очищаются и не должны быть читаемыми или записываемыми.

Если canWriteSequence возвращает false, этот метод выбросит исключение UnsupportedOperationException.

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

Исключения:
IllegalStateException - если выходной поток не был установлен или prepareWriteSequence не был вызван.
UnsupportedOperationException - если canWriteSequence возвращает false.
IOException - если произошла ошибка при записи.

canReplaceStreamMetadata

public boolean canReplaceStreamMetadata()
                                 throws IOException

Возвращает true если возможно заменить метаданные потока, уже присутствующие в выходе.

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

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

replaceStreamMetadata

public void replaceStreamMetadata(IIOMetadata streamMetadata)
                           throws IOException

Заменяет метаданные потока в выходе новой информацией. Если выходной поток является ImageOutputStream, предыдущее содержимое потока исследуется и, возможно, редактируется, чтобы освободить место для новых данных. Все предыдущее содержимое выходного потока должно быть доступно для чтения и записи.

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

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

Параметры:
streamMetadata - объект IIOMetadata, представляющий метаданные потока, или null для использования значений по умолчанию.
Исключения:
IllegalStateException - если выходной поток не был установлен.
UnsupportedOperationException - если canReplaceStreamMetadata возвращает false. режимы не включают
IOException - если произошла ошибка при записи.

canReplaceImageMetadata

public boolean canReplaceImageMetadata(int imageIndex)
                                throws IOException

Возвращает true если возможно заменить метаданные изображения, связанные с существующим изображением с индексом imageIndex. Если этот метод возвращает false, вызов replaceImageMetadata(imageIndex) выбросит исключение UnsupportedOperationException.

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

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

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

replaceImageMetadata

public void replaceImageMetadata(int imageIndex,
                                 IIOMetadata imageMetadata)
                          throws IOException

Заменяет метаданные изображения, связанные с существующим изображением.

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

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

Параметры:
imageIndex - индекс изображения, метаданные которого должны быть заменены.
imageMetadata - объект IIOMetadata, представляющий метаданные изображения, или null.
Исключения:
IllegalStateException - если выходной поток не был установлен.
UnsupportedOperationException - если canReplaceImageMetadata возвращает false.
IndexOutOfBoundsException - если imageIndex меньше 0 или больше максимального доступного индекса.
IOException - если произошла ошибка при записи.

canInsertImage

public boolean canInsertImage(int imageIndex)
                       throws IOException

Возвращает true если записыватель поддерживает вставку нового изображения по указанному индексу. Существующие изображения с индексами, большими или равными индексу вставки, будут иметь свои индексы увеличены на 1. Значение для imageIndex равно -1 может быть использовано для обозначения индекса, на единицу больше текущего максимального индекса.

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

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

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

writeInsert

public void writeInsert(int imageIndex,
                        IIOImage image,
                        ImageWriteParam param)
                 throws IOException

Вставляет новое изображение в существующий поток изображений. Существующие изображения с индексом больше imageIndex сохраняются, и их индексы увеличиваются на 1. Значение imageIndex равное -1 может быть использовано для обозначения индекса, на единицу больше предыдущего максимального индекса; это приведет к логическому добавлению изображения в конец последовательности. Если выходной поток является ImageOutputStream, то весь поток должен быть как читаемым, так и записываемым.

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

Параметр ImageWriteParam (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 миниатюр для этого изображения, или null.
param - объект ImageWriteParam, или null для использования параметра записи по умолчанию.
Выбрасывает:
IllegalStateException - если выходной поток не установлен.
UnsupportedOperationException - если canWriteEmpty возвращает false.
IllegalStateException - если предыдущий вызов prepareWriteEmpty был сделан без соответствующего вызова endWriteEmpty.
IllegalStateException - если предыдущий вызов prepareInsertEmpty был сделан без соответствующего вызова endInsertEmpty.
IllegalArgumentException - если imageType равно null или thumbnails содержит ссылки или объекты, отличные от BufferedImage.
IllegalArgumentException - если ширина или высота меньше 1.
IOException - если при записи произошла ошибка ввода-вывода.

endWriteEmpty

public void endWriteEmpty()
                   throws IOException

Завершает запись нового изображения, начатого предыдущим вызовом prepareWriteEmpty.

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

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

Выбрасывает:
IllegalStateException - если выходной поток не установлен.
UnsupportedOperationException - если canWriteEmpty(imageIndex) возвращает false.
IllegalStateException - если предыдущий вызов prepareWriteEmpty без соответствующего вызова endWriteEmpty не был сделан.
IllegalStateException - если предыдущий вызов prepareInsertEmpty без соответствующего вызова endInsertEmpty был сделан.
IllegalStateException - если вызов prepareReiplacePixels был сделан без соответсвующего вызова endReplacePixels.
IOException - если при записи произошла ошибка ввода-вывода.

canInsertEmpty

public boolean canInsertEmpty(int imageIndex)
                       throws IOException

Возвращает true, если записыватель поддерживает вставку нового пустого изображения по заданному индексу. Значения пикселей изображения не определены и могут быть указаны частями с использованием методов replacePixels. Существующие изображения с индексами больше или равными индексу вставки будут иметь свои индексы увеличены на 1. Значение imageIndex равное -1 может быть использовано для обозначения индекса, на единицу больше текущего максимального индекса.

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

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

Параметры:
imageIndex — индекс, на котором должна быть вставлена картинка.
Возвращаемое значение:
true — если в данном индексе можно вставить пустую картинку.
Исключения:
IllegalStateException — если выходной поток не установлен.
IndexOutOfBoundsException — если writer поддерживает вставку пустых картинок в целом, но 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 содержат значения дополнительных параметров, не поддерживаемых этим writer-ом (например, прогрессивное кодирование или любые параметры, специфичные для формата), они будут проигнорированы.

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

Параметры:
imageIndex — индекс, на котором нужно записать картинку.
imageType — ImageTypeSpecifier описывающий расположение картинки.
width — ширина картинки.
height — высота картинки.
imageMetadata — объект IIOMetadata, представляющий метаданные картинки, или null.
thumbnails — список List миниатюр для этой картинки, или null.
param — ImageWriteParam, или null для использования параметра записи по умолчанию.
Исключения:
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.

Исключения:
IllegalStateException — если выходной поток не установлен.
UnsupportedOperationException — если canInsertEmpty(imageIndex) возвращает false.
IllegalStateException — если ранее был вызов prepareInsertEmpty без соответствующего вызова endInsertEmpty.
IllegalStateException — если ранее был вызов prepareWriteEmpty без соответствующего вызова endWriteEmpty.
IllegalStateException — если вызов prepareReplacePixels был выполнен без сопоставленного вызова endReplacePixels.
IOException — если при записи возникла ошибка ввода-вывода.

canReplacePixels

public boolean canReplacePixels(int imageIndex)
                         throws IOException

Возвращает true, если writer позволяет заменить пиксели данной картинки с помощью методов replacePixels.

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

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

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

prepareReplacePixels

public void prepareReplacePixels(int imageIndex,
                                 Rectangle region)
                          throws IOException

Подготавливает writer к обработке серии вызовов методов replacePixels. Воздействующая область пикселей будет обрезана относительно предоставленного

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

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

Параметры:
imageIndex — индекс картинки, пиксели которой нужно заменить.
region — Rectangle, который будет использован для обрезки будущих областей пикселей.
Исключения:
IllegalStateException — если выходной поток не установлен.
UnsupportedOperationException — если canReplacePixels(imageIndex) возвращает false.
IndexOutOfBoundsException — если imageIndex меньше 0 или больше максимального доступного индекса.
IllegalStateException — если есть предыдущий вызов prepareReplacePixels без соответствующего вызова endReplacePixels (т.е. вложенность запрещена).
IllegalArgumentException — если region равен null или имеет ширину или высоту меньше 1.
IOException — если при подготовке возникла ошибка ввода-вывода.

replacePixels

public void replacePixels(RenderedImage image,
                          ImageWriteParam param)
                   throws IOException

Заменяет часть картинки, уже присутствующей в выходе, частью данной картинки. Данные картинки должны совпадать или быть преобразуемы в расположение картинки в существующей картинке.

Целевая область указана в аргументе param, и будет обрезана до границ картинки и области, предоставленной prepareReplacePixels. По крайней мере один пиксель источника не должен быть обрезан, в противном случае выбрасывается исключение.

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

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

Этот метод может быть вызван только после вызова prepareReplacePixels, иначе будет брошено исключение IllegalStateException.

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

Параметры:
image — RenderedImage содержащий пиксели источника.
param — ImageWriteParam, или null для использования параметра записи по умолчанию.
Исключения:
IllegalStateException — если выходной поток не установлен.
UnsupportedOperationException — если canReplacePixels(imageIndex) возвращает false.
IllegalStateException — если нет предыдущего вызова prepareReplacePixels без соответствующего вызова endReplacePixels.
IllegalArgumentException — если выполняется любое из следующих условий:
  • image равно null.
  • param равно null.
  • перекрывающаяся область не содержит по крайней мере одного пикселя.
  • расположение image не соответствует или этот writer не может преобразовать его в существующее расположение изображения.
IOException — если при записи возникла ошибка ввода-вывода.

replacePixels

public void replacePixels(Raster raster,
                          ImageWriteParam param)
                   throws IOException

Заменяет часть изображения, уже присутствующего в выводе, частью заданного Raster. Данные изображения должны совпадать или быть преобразуемы в макет изображения, существующего изображения.

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

Область назначения задается в аргументе param, и будет обрезана до границ изображения и области, предоставленной prepareReplacePixels. Хотя бы один пиксел источника не должен быть обрезан, в противном случае будет выброшено исключение.

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

Этот метод может быть вызван только после вызова prepareReplacePixels, иначе будет выброшено исключение IllegalStateException.

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

Параметры:
raster - a Raster содержащий пиксели источника.
param - an ImageWriteParam, или null для использования параметра ImageWriteParam по умолчанию.
Исключения:
IllegalStateException - если вывод не установлен.
UnsupportedOperationException - если canReplacePixels(imageIndex) возвращает false.
IllegalStateException - если нет предыдущего вызова prepareReplacePixels без соответствующего вызова endReplacePixels.
UnsupportedOperationException - если canWriteRasters возвращает false.
IllegalArgumentException - если истинно какое-либо из следующего:
  • raster равно null.
  • param равно null.
  • пересеченная область не содержит хотя бы одного пикселя.
  • макет raster не совпадает или не может быть преобразован этим записывающим устройством в существующий макет изображения.
IOException - если при записи произошла ошибка ввода-вывода.

endReplacePixels

public void endReplacePixels()
                      throws IOException

Завершает последовательность вызовов replacePixels.

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

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

Исключения:
IllegalStateException - если вывод не установлен.
UnsupportedOperationException - если canReplacePixels(imageIndex) возвращает false.
IllegalStateException - если нет предыдущего вызова prepareReplacePixels без соответствующего вызова endReplacePixels.
IOException - если при записи произошла ошибка ввода-вывода.

abort

public void abort()

Запрашивает прерывание текущей операции записи. Содержимое вывода после прерывания будет неопределенным.

Записывающие устройства должны вызывать clearAbortRequest в начале каждой операции записи и регулярно проверять значение abortRequested во время записи.

abortRequested

protected boolean abortRequested()

Возвращает true если запрос на прерывание текущей операции записи был сделан с момента создания записывающего устройства или после вызова clearAbortRequest.

Возвращает:
true если текущая операция записи должна быть прервана.
См. также:
abort(), clearAbortRequest()

clearAbortRequest

protected void clearAbortRequest()

Очищает предыдущий запрос на прерывание. После вызова этого метода abortRequested вернет false.

См. также:
abort(), abortRequested()

addIIOWriteWarningListener

public void addIIOWriteWarningListener(IIOWriteWarningListener listener)

Добавляет IIOWriteWarningListener в список зарегистрированных слушателей предупреждений. Если listener равно null, исключение не будет выброшено и никаких действий не будет выполнено. Сообщения, отправленные данному слушателю, будут локализованы, если это возможно, в соответствии с текущим Locale. Если Locale не задан, сообщения об ошибках могут быть локализованы по усмотрению записывающего устройства.

Параметры:
listener - IIOWriteWarningListener для регистрации.
См. также:
removeIIOWriteWarningListener(javax.imageio.event.IIOWriteWarningListener)

removeIIOWriteWarningListener

public void removeIIOWriteWarningListener(IIOWriteWarningListener listener)

Удаляет IIOWriteWarningListener из списка зарегистрированных слушателей предупреждений. Если слушатель не был зарегистрирован ранее или если listener равно null, исключение не будет выброшено и никаких действий не будет выполнено.

Параметры:
listener - IIOWriteWarningListener для отмены регистрации.
См. также:
addIIOWriteWarningListener(javax.imageio.event.IIOWriteWarningListener)

removeAllIIOWriteWarningListeners

public void removeAllIIOWriteWarningListeners()

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

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

addIIOWriteProgressListener

public void addIIOWriteProgressListener(IIOWriteProgressListener listener)

Добавляет IIOWriteProgressListener в список зарегистрированных слушателей прогресса. Если listener равно null, исключение не будет выброшено и никаких действий не будет выполнено.

Параметры:
listener - IIOWriteProgressListener для регистрации.
См. также:
removeIIOWriteProgressListener(javax.imageio.event.IIOWriteProgressListener)

removeIIOWriteProgressListener

public void removeIIOWriteProgressListener(IIOWriteProgressListener listener)

Удаляет IIOWriteProgressListener из списка зарегистрированных слушателей прогресса. Если слушатель не был зарегистрирован ранее или если listener равно null, исключение не будет выброшено и никаких действий не будет выполнено.

Параметры:
listener - IIOWriteProgressListener для отмены регистрации.
См. также:
addIIOWriteProgressListener(javax.imageio.event.IIOWriteProgressListener)

removeAllIIOWriteProgressListeners

public void removeAllIIOWriteProgressListeners()

Удаляет все зарегистрированные объекты IIOWriteProgressListener.

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

processImageStarted

protected void processImageStarted(int imageIndex)

Передает начало записи изображения всем зарегистрированным IIOWriteProgressListener вызывая их метод imageStarted . Подклассы могут использовать этот метод для удобства.

Параметры:
imageIndex - индекс изображения, которое будет записано.

processImageProgress

protected void processImageProgress(float percentageDone)

Передает текущий процент завершения изображения всем зарегистрированным IIOWriteProgressListener вызывая их метод imageProgress . Подклассы могут использовать этот метод для удобства.

Параметры:
percentageDone - текущий процент завершения, как float.

processImageComplete

protected void processImageComplete()

Передает завершение записи изображения всем зарегистрированным IIOWriteProgressListener вызывая их метод imageComplete . Подклассы могут использовать этот метод для удобства.

processThumbnailStarted

protected void processThumbnailStarted(int imageIndex,
                                       int thumbnailIndex)

Передает начало записи миниатюры всем зарегистрированным IIOWriteProgressListener вызывая их метод thumbnailStarted . Подклассы могут использовать этот метод для удобства.

Параметры:
imageIndex - индекс изображения, связанного с миниатюрой.
thumbnailIndex - индекс миниатюры.

processThumbnailProgress

protected void processThumbnailProgress(float percentageDone)

Передает текущий процент завершения миниатюры всем зарегистрированным IIOWriteProgressListener вызывая их метод thumbnailProgress . Подклассы могут использовать этот метод для удобства.

Параметры:
percentageDone - текущий процент завершения, как float.

processThumbnailComplete

protected void processThumbnailComplete()

Передает завершение записи миниатюры всем зарегистрированным IIOWriteProgressListener вызывая их метод thumbnailComplete . Подклассы могут использовать этот метод для удобства.

processWriteAborted

protected void processWriteAborted()

Передает информацию о прерывании записи всем зарегистрированным IIOWriteProgressListener вызывая их метод writeAborted . Подклассы могут использовать этот метод для удобства.

processWarningOccurred

protected void processWarningOccurred(int imageIndex,
                                      String warning)

Передает сообщение об ошибке всем зарегистрированным IIOWriteWarningListener вызывая их метод warningOccurred . Подклассы могут использовать этот метод для удобства.

Параметры:
imageIndex - индекс изображения, на котором произошла ошибка.
warning - сообщение об ошибке.
Исключения:
IllegalArgumentException - если warning равно null.

processWarningOccurred

protected void processWarningOccurred(int imageIndex,
                                      String baseName,
                                      String keyword)

Передает локализованное сообщение об ошибке всем зарегистрированным IIOWriteWarningListener вызывая их метод warningOccurred со строкой из ResourceBundle. Подклассы могут использовать этот метод для удобства.

Параметры:
imageIndex - индекс изображения, на котором произошла ошибка.
baseName - базовое имя набора ResourceBundle с локализованными сообщениями об ошибках.
keyword - ключевое слово для индексации сообщения об ошибке в наборе ResourceBundle.
Исключения:
IllegalArgumentException - если baseName имеет значение null.
IllegalArgumentException - если keyword имеет значение null.
IllegalArgumentException - если не может быть найден подходящий ResourceBundle.
IllegalArgumentException - если указанный ресурс не найден в найденном ResourceBundle.
IllegalArgumentException - если объект, извлеченный из ResourceBundle , не является String.

reset

public void reset()

Восстанавливает ImageWriter до его начального состояния.

Реализация по умолчанию вызывает setOutput(null), setLocale(null), removeAllIIOWriteWarningListeners(), removeAllIIOWriteProgressListeners(), и clearAbortRequest.

dispose

public void dispose()

Разрешает освобождение всех ресурсов, используемых этим объектом. Результат вызова любого другого метода (кроме finalize) после вызова этого метода не определен.

Важно, чтобы приложения вызывали этот метод, когда они больше не будут использовать этот ImageWriter. В противном случае писатель может продолжать удерживать ресурсы неопределенно долго.

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

© 1993, 2020, 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.

Spec-Zone.ru

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