Spec-Zone.ru › OpenJDK 17

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

Запись интерлинованных изображений может контролироваться режимом прогрессивности предоставленного экземпляра 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-потока и 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, 2021, 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/17/docs/api/java.desktop/javax/imageio/package-summary.html

Spec-Zone.ru

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