Класс JPEGImageReadParam
public class JPEGImageReadParam extends ImageReadParam
getDefaultImageReadParam встроенного модуля ImageReader JPEG. Единственное назначение этих дополнений — разрешить указание таблиц для декодирования сокращённых потоков. Встроенный модуль чтения JPEG также принимает обычный ImageReadParam, которого достаточно для декодирования полных потоков.
Хотя таблицы для сокращённых потоков часто получают, предварительно прочитав другой сокращённый поток, содержащий только таблицы, в некоторых приложениях таблицы заданы заранее. Этот класс позволяет задавать таблицы непосредственно в клиентском коде. Если таблицы не указаны ни в потоке, ни в JPEGImageReadParam, предполагается, что поток использует «стандартные» таблицы без визуальных потерь. Дополнительные сведения о таблицах по умолчанию см. в разделах JPEGQTable и JPEGHuffmanTable.
JPEGImageReadParam по умолчанию, возвращаемый методом getDefaultReadParam встроенного модуля чтения JPEG, не содержит таблиц. Таблицы по умолчанию можно получить из классов таблиц JPEGQTable и JPEGHuffmanTable.
Если поток содержит таблицы, таблицы, заданные в JPEGImageReadParam, игнорируются. Кроме того, если первое изображение в потоке содержит таблицы, а последующие — нет, таблицы первого изображения используются для всех сокращённых изображений. После чтения таблиц из потока их можно переопределить только таблицами, прочитанными впоследствии из того же потока. Чтобы задать новые таблицы, необходимо вызвать метод setInput средства чтения, чтобы изменить поток.
Обратите внимание, что этот класс не предоставляет способа получить таблицы, найденные в потоке. Их можно извлечь из потока, обратившись к объекту IIOMetadata, возвращаемому средством чтения.
Дополнительные сведения о работе встроенных подключаемых модулей JPEG см. в документе Спецификация формата метаданных JPEG и примечания по использованию.
Краткое описание полей
Поля, объявленные в классе ImageReadParam
canSetSourceRenderSize, destination, destinationBands, minProgressivePass, numProgressivePasses, sourceRenderSize | Модификатор и тип | Поле | Описание |
|---|---|---|
protected boolean |
canSetSourceRenderSize |
true, если этот ImageReadParam позволяет задавать размеры отображения источника. |
protected BufferedImage |
destination |
Текущий BufferedImage назначения или null, если он не задан. |
protected int[] |
destinationBands |
Набор полос назначения, используемых в виде массива int. |
protected int |
minProgressivePass |
Минимальный индекс прогрессивного прохода, считываемого из источника. |
protected int |
numProgressivePasses |
Максимальное число прогрессивных проходов, считываемых из источника. |
protected Dimension |
sourceRenderSize |
Требуемые ширина и высота отображения источника, если canSetSourceRenderSize равно true, или null. |
Поля, объявленные в классе IIOParam
controller, defaultController, destinationOffset, destinationType, sourceBands, sourceRegion, sourceXSubsampling, sourceYSubsampling, subsamplingXOffset, subsamplingYOffset | Модификатор и тип | Поле | Описание |
|---|---|---|
protected IIOParamController |
controller |
IIOParamController, который будет использоваться для задания параметров этого объекта IIOParam при вызове метода activateController. |
protected IIOParamController |
defaultController |
IIOParamController по умолчанию, который будет использоваться для задания параметров этого объекта IIOParam при вызове метода activateController. |
protected Point |
destinationOffset |
Смещение в изображении назначения, куда следует поместить декодированный пиксель в верхнем левом углу. |
protected ImageTypeSpecifier |
destinationType |
ImageTypeSpecifier, используемый для создания изображения назначения при чтении или для задания выходного типа цвета при записи. |
protected int[] |
sourceBands |
Массив int, указывающий, какие полосы источника будут использоваться, или null. |
protected Rectangle |
sourceRegion |
Область источника; null, если она не задана. |
protected int |
sourceXSubsampling |
Шаг дискретизации по горизонтали. |
protected int |
sourceYSubsampling |
Шаг дискретизации по вертикали. |
protected int |
subsamplingXOffset |
Горизонтальное смещение, применяемое к сетке дискретизации перед выполнением дискретизации. |
protected int |
subsamplingYOffset |
Вертикальное смещение, применяемое к сетке дискретизации перед выполнением дискретизации. |
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
JPEGImageReadParam() |
Создаёт JPEGImageReadParam. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
boolean |
areTablesSet() |
Возвращает true, если таблицы заданы. |
JPEGHuffmanTable[] |
getACHuffmanTables() |
Возвращает копию массива таблиц Хаффмана AC, заданных при последнем вызове setDecodeTables, или null, если таблицы не заданы. |
JPEGHuffmanTable[] |
getDCHuffmanTables() |
Возвращает копию массива таблиц Хаффмана DC, заданных при последнем вызове setDecodeTables, или null, если таблицы не заданы. |
JPEGQTable[] |
getQTables() |
Возвращает копию массива таблиц квантования, заданных при последнем вызове setDecodeTables, или null, если таблицы не заданы. |
void |
setDecodeTables |
Задаёт таблицы квантования и таблицы Хаффмана для декодирования сокращённых потоков. |
void |
unsetDecodeTables() |
Удаляет все заданные таблицы квантования и таблицы Хаффмана. |
Методы, объявленные в классе ImageReadParam
canSetSourceRenderSize, getDestination, getDestinationBands, getSourceMaxProgressivePass, getSourceMinProgressivePass, getSourceNumProgressivePasses, getSourceRenderSize, setDestination, setDestinationBands, setSourceProgressivePasses, setSourceRenderSize | Модификатор и тип | Метод | Описание |
|---|---|---|
boolean |
canSetSourceRenderSize() |
Возвращает true, если это средство чтения позволяет отображать исходное изображение в произвольном размере в процессе декодирования с помощью метода setSourceRenderSize. |
BufferedImage |
getDestination() |
Возвращает BufferedImage, заданный методом setDestination, или null, если он не задан. |
int[] |
getDestinationBands() |
Возвращает набор индексов полос, в которые будут помещены данные. |
int |
getSourceMaxProgressivePass() |
Если getSourceNumProgressivePasses равно Integer.MAX_VALUE, возвращает Integer.MAX_VALUE. |
int |
getSourceMinProgressivePass() |
Возвращает индекс первого прогрессивного прохода, который будет декодирован. |
int |
getSourceNumProgressivePasses() |
Возвращает число прогрессивных проходов, которые будут декодированы. |
Dimension |
getSourceRenderSize() |
Возвращает ширину и высоту исходного изображения в том виде, в котором оно будет отображаться при декодировании, если они заданы методом setSourceRenderSize. |
void |
setDestination |
Задаёт BufferedImage, который будет использоваться как назначение декодированных данных пикселей. |
void |
setDestinationBands |
Задаёт индексы полос назначения, в которые будут помещены данные. |
void |
setSourceProgressivePasses |
Задаёт диапазон прогрессивных проходов для декодирования. |
void |
setSourceRenderSize |
Если изображение можно отображать в произвольном размере, задаёт ширину и высоту источника указанными значениями. |
Методы, объявленные в классе IIOParam
activateController, getController, getDefaultController, getDestinationOffset, getDestinationType, getSourceBands, getSourceRegion, getSourceXSubsampling, getSourceYSubsampling, getSubsamplingXOffset, getSubsamplingYOffset, hasController, setController, setDestinationOffset, setDestinationType, setSourceBands, setSourceRegion, setSourceSubsampling | Модификатор и тип | Метод | Описание |
|---|---|---|
boolean |
activateController() |
Активирует установленный IIOParamController для этого объекта IIOParam и возвращает полученное значение. |
IIOParamController |
getController() |
Возвращает текущий установленный IIOParamController. |
IIOParamController |
getDefaultController() |
Возвращает IIOParamController по умолчанию, если он существует, независимо от установленного в данный момент контроллера. |
Point |
getDestinationOffset() |
Возвращает смещение в изображении назначения, в котором следует разместить пиксели. |
ImageTypeSpecifier |
getDestinationType() |
Возвращает тип изображения, которое будет возвращено при чтении, если он был задан вызовом setDestination(ImageTypeSpecifier), в виде ImageTypeSpecifier. |
int[] |
getSourceBands() |
Возвращает набор используемых полос источника. |
Rectangle |
getSourceRegion() |
Возвращает используемую область источника. |
int |
getSourceXSubsampling() |
Возвращает число столбцов источника, на которое нужно продвигаться для каждого пикселя. |
int |
getSourceYSubsampling() |
Возвращает число строк, на которое нужно продвигаться для каждого пикселя. |
int |
getSubsamplingXOffset() |
Возвращает горизонтальное смещение сетки дискретизации. |
int |
getSubsamplingYOffset() |
Возвращает вертикальное смещение сетки дискретизации. |
boolean |
hasController() |
Возвращает true, если для этого объекта IIOParam установлен контроллер. |
void |
setController |
Задаёт IIOParamController, используемый для задания параметров этого объекта IIOParam при вызове метода activateController; при этом контроллер по умолчанию переопределяется. |
void |
setDestinationOffset |
Задаёт смещение в изображении назначения, в котором следует размещать декодированные пиксели при чтении или записывать область при записи. |
void |
setDestinationType |
Задаёт требуемый тип изображения назначения с помощью ImageTypeSpecifier. |
void |
setSourceBands |
Задаёт индексы используемых полос источника. |
void |
setSourceRegion |
Задаёт интересующую область источника. |
void |
setSourceSubsampling |
Задаёт шаг дискретизации для операций ввода-вывода. |
Методы, объявленные в классе Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | Модификатор и тип | Метод | Описание |
|---|---|---|
protected Object |
clone() |
Создаёт и возвращает копию этого объекта. |
boolean |
equals |
Указывает, равен ли этот объект какому-либо другому. |
protected void |
finalize() |
Устарело, планируется удаление: этот элемент API может быть удалён в будущей версии. Финализация объявлена устаревшей и может быть удалена в одном из будущих выпусков. |
final Class |
getClass() |
Возвращает класс времени выполнения этого Object. |
int |
hashCode() |
Возвращает хеш-код этого объекта. |
final void |
notify() |
Пробуждает один поток, ожидающий на мониторе этого объекта. |
final void |
notifyAll() |
Пробуждает все потоки, ожидающие на мониторе этого объекта. |
String |
toString() |
Возвращает строковое представление объекта. |
final void |
wait() |
Приостанавливает текущий поток до пробуждения, обычно в результате вызова notify или interrupt. |
final void |
wait |
Приостанавливает текущий поток до пробуждения, обычно в результате вызова notify или interrupt, либо до истечения заданного времени. |
final void |
wait |
Приостанавливает текущий поток до пробуждения, обычно в результате вызова notify или interrupt, либо до истечения заданного времени. |
Подробное описание конструкторов
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, 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.