Spec-Zone.ru › OpenJDK 17

Класс 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, 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/plugins/jpeg/JPEGImageReadParam.html

Spec-Zone.ru

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