Класс JPEGImageReadParam
public class JPEGImageReadParam extends ImageReadParam
getDefaultImageReadParam методов встроенного плагина чтения JPEG ImageReader. Единственная цель этих дополнений — позволить указывать таблицы для использования при декодировании укороченных потоков. Встроенный читатель JPEG также примет обычный ImageReadParam, что достаточно для декодирования неукороченных потоков.
Хотя таблицы для укороченных потоков часто получают, сначала прочитав другой укороченный поток, содержащий только таблицы, в некоторых приложениях таблицы задаются заранее. Этот класс позволяет указывать таблицы непосредственно из кода клиента. Если ни в потоке, ни в JPEGImageReadParam, таблицы не указаны, предполагается, что поток использует "стандартные" визуально без потерь таблицы. См. JPEGQTable и JPEGHuffmanTable для получения дополнительной информации о стандартных таблицах.
По умолчанию JPEGImageReadParam возвращаемый методом getDefaultReadParam встроенного читателя JPEG не содержит таблиц. Таблицы по умолчанию могут быть получены из классов таблиц JPEGQTable и JPEGHuffmanTable.
Если поток содержит таблицы, таблицы, заданные в JPEGImageReadParam, игнорируются. Кроме того, если первый образ в потоке содержит таблицы, а последующие — нет, то таблицы, заданные в первом изображении, используются для всех укороченных изображений. После того как таблицы были прочитаны из потока, их можно переопределить только таблицами, прочитанными из того же потока позднее. Для задания новых таблиц необходимо вызвать метод setInput читателя для изменения потока.
Обратите внимание, что этот класс не предоставляет средства получения таблиц, найденных в потоке. Их можно извлечь из потока, обратившись к объекту IIOMetadata, возвращаемому читателем.
Более подробную информацию об работе встроенных плагинов JPEG см. в спецификации формата метаданных JPEG и примечаниях к использованию.
Краткое описание полей
Поля, объявленные в классе javax.imageio.ImageReadParam
canSetSourceRenderSize, destination, destinationBands, minProgressivePass, numProgressivePasses, sourceRenderSize
Поля, объявленные в классе javax.imageio.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() |
Удаляет любые квантованные и Хаффмановские таблицы, которые в настоящее время установлены. |
Методы, объявленные в классе javax.imageio.ImageReadParam
canSetSourceRenderSize, getDestination, getDestinationBands, getSourceMaxProgressivePass, getSourceMinProgressivePass, getSourceNumProgressivePasses, getSourceRenderSize, setDestination, setDestinationBands, setSourceProgressivePasses, setSourceRenderSize
Методы, объявленные в классе javax.imageio.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, 2023, 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/21/docs/api/java.desktop/javax/imageio/plugins/jpeg/JPEGImageReadParam.html