Класс BMPImageWriteParam
public class BMPImageWriteParam extends ImageWriteParam
ImageWriteParam для кодирования изображений в формате BMP. Этот класс позволяет задавать различные параметры при записи файла изображения в формате BMP. По умолчанию данные располагаются снизу вверх: пиксели хранятся в порядке снизу вверх, а первая строка сканирования записывается последней.
Используемую схему сжатия можно указать с помощью метода setCompressionType(), передав соответствующую строку типа. Указанная схема сжатия будет применена только в том случае, если она совместима с типом записываемого изображения. Если указанная схема сжатия несовместима с типом записываемого изображения, средство записи BMP выбросит исключение IOException. Если тип сжатия явно не задан, getCompressionType() вернёт null. В этом случае средство записи BMP выберет тип сжатия, который позволяет кодировать заданное изображение без потери цветового разрешения.
Строки типов сжатия и типы изображений, поддерживаемые каждым из них, перечислены в следующей таблице:
| Строка типа | Описание | Типы изображений |
|---|---|---|
| BI_RGB | Несжатый RLE | <= 8 бит/выборку |
| BI_RLE8 | Кодирование длин серий для 8 бит | <= 8 бит/выборку |
| BI_RLE4 | Кодирование длин серий для 4 бит | <= 4 бит/выборку |
| BI_BITFIELDS | Упакованные данные | 16 или 32 бита/выборку |
Краткое описание полей
Поля, объявленные в классе ImageWriteParam
canOffsetTiles, canWriteCompressed, canWriteProgressive, canWriteTiles, compressionMode, compressionQuality, compressionType, compressionTypes, locale, MODE_COPY_FROM_METADATA, MODE_DEFAULT, MODE_DISABLED, MODE_EXPLICIT, preferredTileSizes, progressiveMode, tileGridXOffset, tileGridYOffset, tileHeight, tileWidth, tilingMode, tilingSet | Модификатор и тип | Поле | Описание |
|---|---|---|
protected boolean |
canOffsetTiles |
Объект boolean, значение которого равно true, если этот ImageWriteParam позволяет задавать параметры смещения начала сетки мозаики. |
protected boolean |
canWriteCompressed |
Объект boolean, значение которого равно true, если это средство записи может записывать изображения с использованием сжатия. |
protected boolean |
canWriteProgressive |
Объект boolean, значение которого равно true, если этот ImageWriteParam позволяет записывать изображения как прогрессивную последовательность проходов с возрастающим качеством. |
protected boolean |
canWriteTiles |
Объект boolean, значение которого равно true, если этот ImageWriteParam позволяет задавать параметры ширины и высоты плитки. |
protected int |
compressionMode |
Режим управления параметрами сжатия, которому должно быть присвоено одно из четырёх значений MODE_*. |
protected float |
compressionQuality |
Объект float, содержащий текущее значение качества сжатия. |
protected String |
compressionType |
Объект String, содержащий имя текущего типа сжатия или null, если тип не задан. |
protected String[] |
compressionTypes |
Массив объектов String, содержащих имена доступных типов сжатия. |
protected Locale |
locale |
Объект Locale для локализации имён типов сжатия и описаний качества или null для использования Locale по умолчанию. |
static final int |
MODE_COPY_FROM_METADATA |
Постоянное значение, которое можно передавать таким методам, как setTilingMode, setProgressiveMode или setCompressionMode, чтобы включить эту функцию для будущих операций записи. |
static final int |
MODE_DEFAULT |
Постоянное значение, которое можно передавать таким методам, как setTilingMode, setProgressiveMode и setCompressionMode, чтобы включить эту функцию для будущих операций записи. |
static final int |
MODE_DISABLED |
Постоянное значение, которое можно передавать таким методам, как setTilingMode, setProgressiveMode и setCompressionMode, чтобы отключить функцию для будущих операций записи. |
static final int |
MODE_EXPLICIT |
Постоянное значение, которое можно передавать таким методам, как setTilingMode или setCompressionMode, чтобы включить функцию для будущих операций записи. |
protected Dimension[] |
preferredTileSizes |
Массив пар предпочтительных диапазонов размеров плитки. |
protected int |
progressiveMode |
Режим управления прогрессивным кодированием, которому должно быть присвоено одно из четырёх значений MODE_*, кроме MODE_EXPLICIT. |
protected int |
tileGridXOffset |
Величина горизонтального смещения начала сетки плиток относительно начала изображения, если мозаичное разбиение задано, иначе 0. |
protected int |
tileGridYOffset |
Величина вертикального смещения начала сетки плиток относительно начала изображения, если мозаичное разбиение задано, иначе 0. |
protected int |
tileHeight |
Высота каждой плитки, если мозаичное разбиение задано, иначе 0. |
protected int |
tileWidth |
Ширина каждой плитки, если мозаичное разбиение задано, иначе 0. |
protected int |
tilingMode |
Режим управления параметрами мозаичного разбиения, которому должно быть присвоено одно из четырёх значений MODE_*. |
protected boolean |
tilingSet |
Объект boolean, значение которого равно true, если параметры мозаичного разбиения заданы. |
Поля, объявленные в классе 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 |
Вертикальное смещение сетки прореживания, применяемое перед прореживанием. |
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
BMPImageWriteParam() |
Создаёт объект BMPImageWriteParam со значениями по умолчанию для всех параметров и объектом null Locale. |
BMPImageWriteParam |
Создаёт объект BMPImageWriteParam, настроенный на использование заданного объекта Locale, со значениями по умолчанию для всех параметров. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
boolean |
isTopDown() |
Возвращает значение параметра topDown. |
void |
setTopDown |
Если задано, данные записываются сверху вниз, начиная с первой строки сканирования. |
Методы, объявленные в классе ImageWriteParam
canOffsetTiles, canWriteCompressed, canWriteProgressive, canWriteTiles, getBitRate, getCompressionMode, getCompressionQuality, getCompressionQualityDescriptions, getCompressionQualityValues, getCompressionType, getCompressionTypes, getLocale, getLocalizedCompressionTypeName, getPreferredTileSizes, getProgressiveMode, getTileGridXOffset, getTileGridYOffset, getTileHeight, getTileWidth, getTilingMode, isCompressionLossless, setCompressionMode, setCompressionQuality, setCompressionType, setProgressiveMode, setTiling, setTilingMode, unsetCompression, unsetTiling | Модификатор и тип | Метод | Описание |
|---|---|---|
boolean |
canOffsetTiles() |
Возвращает true, если средство записи может выполнять мозаичное разбиение с ненулевыми смещениями сетки при записи. |
boolean |
canWriteCompressed() |
Возвращает true, если это средство записи поддерживает сжатие. |
boolean |
canWriteProgressive() |
Возвращает true, если средство записи может записывать изображения в виде последовательности проходов с постепенно повышающимся качеством. |
boolean |
canWriteTiles() |
Возвращает true, если средство записи может выполнять мозаичное разбиение при записи. |
float |
getBitRate |
Возвращает значение float, указывающее оценочное количество битов выходных данных на каждый бит входных данных изображения для заданного уровня качества. |
int |
getCompressionMode() |
Возвращает текущий режим сжатия, если сжатие поддерживается. |
float |
getCompressionQuality() |
Возвращает текущее значение качества сжатия. |
String[] |
getCompressionQualityDescriptions() |
Возвращает массив объектов String, которые можно использовать вместе с getCompressionQualityValues в пользовательском интерфейсе для задания или отображения уровня качества сжатия. |
float[] |
getCompressionQualityValues() |
Возвращает массив объектов float, которые можно использовать вместе с getCompressionQualityDescriptions в пользовательском интерфейсе для задания или отображения уровня качества сжатия. |
String |
getCompressionType() |
Возвращает текущий тип сжатия или null, если он не задан. |
String[] |
getCompressionTypes() |
Возвращает список доступных типов сжатия в виде массива объектов String или null, если выбрать тип сжатия с помощью этих интерфейсов нельзя. |
Locale |
getLocale() |
Возвращает текущий объект Locale или null, если поддерживается только объект Locale по умолчанию. |
String |
getLocalizedCompressionTypeName() |
Возвращает локализованную версию имени текущего типа сжатия, используя объект Locale, возвращённый методом getLocale. |
Dimension[] |
getPreferredTileSizes() |
Возвращает массив объектов Dimension, указывающих допустимые диапазоны размеров плиток, в которых они будут закодированы в выходном файле или потоке. |
int |
getProgressiveMode() |
Возвращает текущий режим прогрессивной записи потока. |
int |
getTileGridXOffset() |
Возвращает горизонтальное смещение сетки плиток изображения в том виде, в котором оно будет записано в выходной поток. |
int |
getTileGridYOffset() |
Возвращает вертикальное смещение сетки плиток изображения в том виде, в котором оно будет записано в выходной поток. |
int |
getTileHeight() |
Возвращает высоту каждой плитки изображения в том виде, в котором оно будет записано в выходной поток. |
int |
getTileWidth() |
Возвращает ширину каждой плитки изображения в том виде, в котором оно будет записано в выходной поток. |
int |
getTilingMode() |
Возвращает текущий режим мозаичного разбиения, если оно поддерживается. |
boolean |
isCompressionLossless() |
Возвращает true, если текущий тип сжатия обеспечивает сжатие без потерь. |
void |
setCompressionMode |
Задаёт, следует ли выполнять сжатие и, если следует, как определять его параметры. |
void |
setCompressionQuality |
Задаёт качество сжатия значением в диапазоне от 0 до 1. |
void |
setCompressionType |
Задаёт тип сжатия одним из значений, указанных в getCompressionTypes. |
void |
setProgressiveMode |
Указывает, что средство записи должно записать изображение в прогрессивном режиме, при котором поток будет содержать последовательность сканирований с возрастающим качеством. |
void |
setTiling |
Указывает, что изображение следует разбить на плитки в выходном потоке. |
void |
setTilingMode |
Определяет, будет ли изображение разбито на плитки в выходном потоке и, если да, как будут задаваться параметры разбиения. |
void |
unsetCompression() |
Удаляет все ранее заданные параметры типа и качества сжатия. |
void |
unsetTiling() |
Удаляет все ранее заданные параметры сетки плиток, установленные вызовами setTiling. |
Методы, объявленные в классе 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, либо до истечения заданного промежутка реального времени. |
Подробное описание конструкторов
BMPImageWriteParam
public BMPImageWriteParam(Locale locale)
BMPImageWriteParam, настроенный на использование заданного объекта Locale, со значениями по умолчанию для всех параметров.- Параметры:
-
locale— объектLocaleдля локализации имён типов сжатия и описаний качества илиnull.
BMPImageWriteParam
public BMPImageWriteParam()
BMPImageWriteParam со значениями по умолчанию для всех параметров и объектом null Locale.Подробное описание методов
setTopDown
public void setTopDown(boolean topDown)
- Параметры:
-
topDown— указывает, записываются ли данные в порядке сверху вниз.
isTopDown
public boolean isTopDown()
topDown. Значение по умолчанию — false.- Возвращает:
- указывает, записываются ли данные в порядке сверху вниз.
© 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.