Spec-Zone.ru › OpenJDK 25

Класс JPEGImageReadParam

java.lang.Object
javax.imageio.IIOParam
javax.imageio.ImageReadParam
javax.imageio.plugins.jpeg.JPEGImageReadParam
public class JPEGImageReadParam extends ImageReadParam
Этот класс предоставляет возможность задавать таблицы квантования JPEG и таблицы Хаффмана при использовании встроенного подключаемого модуля чтения JPEG. Экземпляр этого класса возвращается методами getDefaultImageReadParam встроенного ImageReader JPEG.

Единственная цель этих дополнений — разрешить задавать таблицы для декодирования сокращённых потоков. Встроенный модуль чтения JPEG также принимает обычный ImageReadParam, которого достаточно для декодирования несокращённых потоков.

Хотя таблицы для сокращённых потоков часто получают, сначала считывая другой сокращённый поток, содержащий только таблицы, в некоторых приложениях таблицы задаются заранее. Этот класс позволяет задавать таблицы непосредственно из клиентского кода. Если таблицы не заданы ни в потоке, ни в JPEGImageReadParam, предполагается, что в потоке используются «стандартные» таблицы визуально без потерь. Дополнительные сведения о таблицах по умолчанию см. в разделах JPEGQTable и JPEGHuffmanTable.

Объект JPEGImageReadParam по умолчанию, возвращаемый методом getDefaultReadParam встроенного модуля чтения JPEG, не содержит таблиц. Таблицы по умолчанию можно получить из классов таблиц JPEGQTable и JPEGHuffmanTable.

Если поток содержит таблицы, таблицы, переданные в JPEGImageReadParam, игнорируются. Кроме того, если первое изображение в потоке содержит таблицы, а последующие — нет, таблицы из первого изображения используются для всех сокращённых изображений. После считывания таблиц из потока их можно заменить только таблицами, считанными впоследствии из того же потока. Чтобы задать новые таблицы, необходимо вызвать метод setInput модуля чтения и изменить поток.

Обратите внимание, что этот класс не предоставляет способа получить таблицы, содержащиеся в потоке. Их можно извлечь из потока, обратившись к объекту IIOMetadata, возвращённому модулем чтения.

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

Краткое описание полей

Поля, объявленные в классе ImageReadParam

canSetSourceRenderSize, destination, destinationBands, minProgressivePass, numProgressivePasses, sourceRenderSize

Поля, объявленные в классе IIOParam

controller, defaultController, destinationOffset, destinationType, sourceBands, sourceRegion, sourceXSubsampling, sourceYSubsampling, subsamplingXOffset, subsamplingYOffset

Краткое описание конструкторов

Конструктор Описание
JPEGImageReadParam()
Создаёт JPEGImageReadParam.

Краткое описание методов

Модификатор и тип Метод Описание
boolean areTablesSet()
Возвращает true, если таблицы заданы.
JPEGHuffmanTable[] getACHuffmanTables()
Возвращает копию массива таблиц Хаффмана AC, заданных при последнем вызове setDecodeTables, или null, если таблицы не заданы.
JPEGHuffmanTable[] getDCHuffmanTables()
Возвращает копию массива таблиц Хаффмана DC, заданных при последнем вызове setDecodeTables, или null, если таблицы не заданы.
JPEGQTable[] getQTables()
Возвращает копию массива таблиц квантования, заданных при последнем вызове setDecodeTables, или null, если таблицы не заданы.
void setDecodeTables(JPEGQTable[] qTables, JPEGHuffmanTable[] DCHuffmanTables, JPEGHuffmanTable[] ACHuffmanTables)
Задаёт таблицы квантования и Хаффмана для декодирования сокращённых потоков.
void unsetDecodeTables()
Удаляет все заданные таблицы квантования и Хаффмана.

Методы, объявленные в классе ImageReadParam

canSetSourceRenderSize, getDestination, getDestinationBands, getSourceMaxProgressivePass, getSourceMinProgressivePass, getSourceNumProgressivePasses, getSourceRenderSize, setDestination, setDestinationBands, setSourceProgressivePasses, setSourceRenderSize

Методы, объявленные в классе IIOParam

activateController, getController, getDefaultController, getDestinationOffset, getDestinationType, getSourceBands, getSourceRegion, getSourceXSubsampling, getSourceYSubsampling, getSubsamplingXOffset, getSubsamplingYOffset, hasController, setController, setDestinationOffset, setDestinationType, setSourceBands, setSourceRegion, setSourceSubsampling

Методы, объявленные в классе Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Подробное описание конструкторов

JPEGImageReadParam

public JPEGImageReadParam()
Создаёт JPEGImageReadParam.

Подробное описание методов

areTablesSet

public boolean areTablesSet()
Возвращает true, если таблицы заданы.
Возвращает:
true, если таблицы присутствуют.

setDecodeTables

public void setDecodeTables(JPEGQTable[] qTables, JPEGHuffmanTable[] DCHuffmanTables, JPEGHuffmanTable[] ACHuffmanTables)
Задаёт таблицы квантования и Хаффмана для декодирования сокращённых потоков. Число таблиц каждого типа не может превышать 4. Эти таблицы игнорируются после обнаружения таблиц в потоке. Все аргументы должны быть отличны от null. Оба массива таблиц Хаффмана должны содержать одинаковое число элементов. Предполагается, что спецификаторы таблиц в заголовках кадров и сканирования потока соответствуют индексам в этих массивах. Аргументы-массивы копируются этим методом.
Параметры:
qTables — массив объектов таблиц квантования.
DCHuffmanTables — массив объектов таблиц Хаффмана.
ACHuffmanTables — массив объектов таблиц Хаффмана.
Исключения:
IllegalArgumentException — если какой-либо аргумент равен null, содержит более 4 элементов либо число таблиц DC и AC различается.
См. также:
  • unsetDecodeTables()

unsetDecodeTables

public void unsetDecodeTables()
Удаляет все заданные таблицы квантования и Хаффмана.
См. также:
  • setDecodeTables(JPEGQTable[], JPEGHuffmanTable[], JPEGHuffmanTable[])

getQTables

public JPEGQTable[] getQTables()
Возвращает копию массива таблиц квантования, заданных при последнем вызове setDecodeTables, или null, если таблицы не заданы.
Возвращает:
массив объектов JPEGQTable или null.
См. также:
  • setDecodeTables(JPEGQTable[], JPEGHuffmanTable[], JPEGHuffmanTable[])

getDCHuffmanTables

public JPEGHuffmanTable[] getDCHuffmanTables()
Возвращает копию массива таблиц Хаффмана DC, заданных при последнем вызове setDecodeTables, или null, если таблицы не заданы.
Возвращает:
массив объектов JPEGHuffmanTable или null.
См. также:
  • setDecodeTables(JPEGQTable[], JPEGHuffmanTable[], JPEGHuffmanTable[])

getACHuffmanTables

public JPEGHuffmanTable[] getACHuffmanTables()
Возвращает копию массива таблиц Хаффмана AC, заданных при последнем вызове setDecodeTables, или null, если таблицы не заданы.
Возвращает:
массив объектов JPEGHuffmanTable или null.
См. также:
  • setDecodeTables(JPEGQTable[], JPEGHuffmanTable[], JPEGHuffmanTable[])

Сообщить об ошибке или предложить улучшение
Дополнительные справочные материалы по 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/plugins/jpeg/JPEGImageReadParam.html

Spec-Zone.ru

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