Spec-Zone.ru › OpenJDK 21

Класс JPEGImageReadParam

java.lang.Object
javax.imageio.IIOParam
javax.imageio.ImageReadParam
javax.imageio.plugins.jpeg.JPEGImageReadParam
public class JPEGImageReadParam extends ImageReadParam
Этот класс добавляет возможность задавать квантованные и Хаффмановские таблицы JPEG при использовании встроенного плагина читателя JPEG. Экземпляр этого класса будет возвращен из 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(JPEGQTable[] qTables, JPEGHuffmanTable[] DCHuffmanTables, JPEGHuffmanTable[] ACHuffmanTables)
Устанавливает квантованные и Хаффмановские таблицы для использования при декодировании укороченных потоков.
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

Методы, объявленные в классе java.lang.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(javax.imageio.plugins.jpeg.JPEGQTable[], javax.imageio.plugins.jpeg.JPEGHuffmanTable[], javax.imageio.plugins.jpeg.JPEGHuffmanTable[])

getQTables

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

getDCHuffmanTables

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

getACHuffmanTables

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

© 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

Spec-Zone.ru

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