Класс JPEGImageReadParam
public class JPEGImageReadParam extends ImageReadParam
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 |
Задаёт таблицы квантования и Хаффмана для декодирования сокращённых потоков. |
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
Подробное описание конструкторов
JPEGImageReadParam
public JPEGImageReadParam()
JPEGImageReadParam.Подробное описание методов
areTablesSet
public boolean areTablesSet()
true, если таблицы заданы.- Возвращает:
-
true, если таблицы присутствуют.
setDecodeTables
public void setDecodeTables(JPEGQTable[] qTables, JPEGHuffmanTable[] DCHuffmanTables, JPEGHuffmanTable[] ACHuffmanTables)
null. Оба массива таблиц Хаффмана должны содержать одинаковое число элементов. Предполагается, что спецификаторы таблиц в заголовках кадров и сканирования потока соответствуют индексам в этих массивах. Аргументы-массивы копируются этим методом.- Параметры:
-
qTables— массив объектов таблиц квантования. -
DCHuffmanTables— массив объектов таблиц Хаффмана. -
ACHuffmanTables— массив объектов таблиц Хаффмана. - Исключения:
-
IllegalArgumentException— если какой-либо аргумент равенnull, содержит более 4 элементов либо число таблиц DC и AC различается. - См. также:
unsetDecodeTables
public void unsetDecodeTables()
- См. также:
getQTables
public JPEGQTable[] getQTables()
setDecodeTables, или null, если таблицы не заданы.- Возвращает:
- массив объектов
JPEGQTableилиnull. - См. также:
getDCHuffmanTables
public JPEGHuffmanTable[] getDCHuffmanTables()
setDecodeTables, или null, если таблицы не заданы.- Возвращает:
- массив объектов
JPEGHuffmanTableилиnull. - См. также:
getACHuffmanTables
public JPEGHuffmanTable[] getACHuffmanTables()
setDecodeTables, или null, если таблицы не заданы.- Возвращает:
- массив объектов
JPEGHuffmanTableилиnull. - См. также:
© 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