Spec-Zone.ru › OpenJDK 24

Класс 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, 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://download.java.net/java/early_access/jdk24/docs/api/java.desktop/javax/imageio/plugins/jpeg/JPEGImageReadParam.html

Spec-Zone.ru

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