Spec-Zone.ru › OpenJDK 24

Пакет 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, предоставляются писателю или метаданные изображения не предоставляются, и локальная цветовая таблица, которая должна быть сгенерирована из самого изображения, не равна глобальной цветовой таблице.

Блок 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 приведено в таблицах здесь.

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, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://download.java.net/java/early_access/jdk24/docs/api/java.desktop/javax/imageio/package-summary.html

Spec-Zone.ru

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