Spec-Zone.ru › OpenJDK 25

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

Начиная с версии:
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
Абстрактный суперкласс для кодирования и записи изображений.

Сообщить об ошибке или предложить улучшение
Дополнительные справочные материалы по API и документацию для разработчиков см. в разделе Документация Java SE, содержащем более подробные описания для разработчиков, включая обзоры концепций, определения терминов, обходные решения и примеры работающего кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или её аффилированных лиц в США и других странах.
Авторские права © 1993, 2025, Oracle и/или её аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 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://docs.oracle.com/en/java/javase/25/docs/api/java.desktop/javax/imageio/package-summary.html

Spec-Zone.ru

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