Spec-Zone.ru › OpenJDK 8

Пакет javax.imageio

Основной пакет API Java для ввода/вывода изображений.

См.: Описание

Интерфейс Описание
IIOParamController

Интерфейс, который должны реализовывать объекты, способные определять настройки объекта IIOParam, либо создавая графический интерфейс для получения значений от пользователя, либо другими способами.

ImageTranscoder

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

Класс Описание
IIOImage

Простой контейнерный класс для агрегирования изображения, набора миниатюр (превью) изображений и объекта, представляющего метаданные, связанные с изображением.

IIOParam

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

ImageIO

Класс, содержащий статические вспомогательные методы для поиска ImageReader и ImageWriter, а также для выполнения простого кодирования и декодирования.

ImageReader

Абстрактный базовый класс для разбора и декодирования изображений.

ImageReadParam

Класс, описывающий, как должен быть декодирован поток.

ImageTypeSpecifier

Класс, который позволяет удобно задать формат изображения (в частности, его SampleModel и ColorModel).

ImageWriteParam

Класс, описывающий, как должен быть закодирован поток.

ImageWriter

Абстрактный базовый класс для кодирования и записи изображений.

Исключение Описание
IIOException

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

Описание пакета javax.imageio

Основной пакет API Java для ввода/вывода изображений.

Многие распространённые операции ввода/вывода изображений могут быть выполнены с помощью статических методов класса ImageIO.

Этот пакет содержит базовые классы и интерфейсы для описания содержимого файлов изображений, включая метаданные и миниатюры (IIOImage); для управления процессом чтения изображения (ImageReader, ImageReadParam, и ImageTypeSpecifier); для процесса записи изображения (ImageWriter и ImageWriteParam); для выполнения транскодирования между форматами (ImageTranscoder) и для отчётности об ошибках (IIOException).

Все реализации javax.imageio предоставляют следующие стандартные плагины для форматов изображений:

Чтение Запись Примечания Метаданные
JPEG да да нет Формат метаданных JPEG
PNG да да нет Формат метаданных PNG
BMP да да нет Формат метаданных BMP
WBMP да да нет Формат метаданных WBMP
GIF да да Примечания к плагину GIF Формат метаданных GIF


Примечания к стандартным плагинам

Стандартный плагин для формата GIF

ImageIO предоставляет плагины для чтения и записи формата Graphics Interchange Format (GIF) изображений. Это "стандартные" плагины GIF, то есть те, которые включены в JRE, в отличие от тех, которые включены в стандартные расширения или плагины сторонних разработчиков. Следующие замечания и спецификация метаданных относятся к стандартным плагинам.

Запись GIF-изображений

Плагин для записи GIF-изображений гарантирует без потерь запись для изображений, которые удовлетворяют следующим требованиям:
  • число каналов равно 1;
  • число битов на образец не больше 8;
  • размер цветового компонента не больше 8;

По умолчанию плагин для записи GIF создаёт изображения версии "89a". Это можно изменить на "87a", явно установив версию в метаданных потока (см. Спецификация формата метаданных потока GIF).

Плагин для записи GIF поддерживает создание анимированных GIF-изображений через стандартные методы последовательной записи, определённые в классе ImageWriter.

Глобальная цветовая таблица записывается в выходной поток, если выполняется хотя бы одно из следующих условий:

  • в метаданных потока содержится элемент GlobalColorTable;
  • записывается последовательность, и для первого изображения в последовательности в метаданных изображения содержится элемент LocalColorTable;
  • метаданные изображения не заданы или не содержат элемента LocalColorTable.

В первом случае используется глобальная цветовая таблица из метаданных потока, во втором — локальная цветовая таблица из метаданных изображения, а в третьем — глобальная цветовая таблица создаётся из ColorModel или SampleModel первого изображения.

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

Блок Graphic Control Extension записывается в выходной поток только в том случае, если в метаданных изображения содержится элемент GraphicControlExtension или метаданные изображения не заданы, и локальная цветовая таблица, сгенерированная из изображения, требует прозрачный индекс. Блоки Application, Plain Text и Comment Extension записываются только в том случае, если они заданы в метаданных изображения.

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

Плагин для записи GIF-изображений поддерживает установку метаданных выходного потока из метаданных, предоставленных автору, как в формате метаданных GIF для потока javax_imageio_gif_stream_1.0 или в стандартном формате метаданных javax_imageio_1.0, и установку метаданных выходного изображения из метаданных, предоставленных автору, как в формате метаданных GIF для изображения javax_imageio_gif_image_1.0 или в стандартном формате метаданных javax_imageio_1.0. Сопоставление стандартного формата метаданных с форматами метаданных GIF для потока и изображения приведено в таблицах здесь.

С:
1.4

© 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