Spec-Zone.ru › OpenJDK 21

Пакет javax.imageio

package javax.imageio
Основной пакет API Java Image I/O.

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

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

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

Стандартные плагины форматов изображений
Формат изображения Чтение Запись Примечания Метаданные
BMP да да нет Формат метаданных BMP
GIF да да Примечания к плагину GIF Формат метаданных GIF
JPEG да да нет Формат метаданных JPEG
PNG да да нет Формат метаданных PNG
TIFF да да Примечания к плагину TIFF Формат метаданных TIFF
WBMP да да нет Формат метаданных WBMP

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Since:
1.4
Пакет Описание
javax.imageio.event
Пакет API Java Image I/O, обрабатывающий синхронное уведомление о событиях во время чтения и записи изображений.
javax.imageio.metadata
Пакет API Java Image I/O, обрабатывающий чтение и запись метаданных.
javax.imageio.spi
Пакет API Java Image I/O, содержащий интерфейсы плагинов для читателей, записывателей, транскодеров и потоков, а также реестр времени выполнения.
javax.imageio.stream
Пакет API Java Image I/O, обрабатывающий низкоуровневый ввод-вывод из файлов и потоков.
Класс Описание
IIOException
Класс исключений, используемый для сигнализации сбоя операций чтения и записи во время выполнения.
IIOImage
Простой класс-контейнер для агрегирования изображения, набора миниатюр (превью) изображений и объекта, представляющего метаданные, связанные с изображением.
IIOParam
Базовый класс для всех классов, описывающих, как следует декодировать или кодировать потоки.
IIOParamController
Интерфейс для реализации объектами, которые могут определить настройки объекта IIOParam, либо путём создания графического интерфейса для получения значений от пользователя, либо другими способами.
ImageIO
Класс, содержащий статические удобные методы для поиска ImageReader и ImageWriter и выполнения простого кодирования и декодирования.
ImageReader
Абстрактный базовый класс для парсинга и декодирования изображений.
ImageReadParam
Класс, описывающий, как следует декодировать поток.
ImageTranscoder
Интерфейс, предоставляющий возможности транскодирования метаданных.
ImageTypeSpecifier
Класс, позволяющий удобным способом указать формат изображения (в частности, его SampleModel и ColorModel).
ImageWriteParam
Класс, описывающий, как следует кодировать поток.
ImageWriter
Абстрактный базовый класс для кодирования и записи изображений.

© 1993, 2023, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/21/docs/api/java.desktop/javax/imageio/package-summary.html

Spec-Zone.ru

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