Spec-Zone.ru › OpenJDK 8

Класс 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, setDestinationType, setSourceProgressivePasses, setSourceRenderSize

Методы унаследованные от класса javax.imageio.IIOParam

activateController, getController, getDefaultController, getDestinationOffset, getDestinationType, getSourceBands, getSourceRegion, getSourceXSubsampling, getSourceYSubsampling, getSubsamplingXOffset, getSubsamplingYOffset, hasController, setController, setDestinationOffset, 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, 2020, 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.

Spec-Zone.ru

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