Spec-Zone.ru › OpenJDK 27

Класс BMPImageWriteParam

java.lang.Object
javax.imageio.IIOParam
javax.imageio.ImageWriteParam
javax.imageio.plugins.bmp.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(Locale locale)
Создаёт объект BMPImageWriteParam, настроенный на использование заданного объекта Locale, со значениями по умолчанию для всех параметров.

Краткое описание методов

Модификатор и тип Метод Описание
boolean isTopDown()
Возвращает значение параметра topDown.
void setTopDown(boolean topDown)
Если задано, данные записываются сверху вниз, начиная с первой строки сканирования.

Методы, объявленные в классе 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 quality)
Возвращает значение 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(int mode)
Задаёт, следует ли выполнять сжатие и, если следует, как определять его параметры.
void setCompressionQuality(float quality)
Задаёт качество сжатия значением в диапазоне от 0 до 1.
void setCompressionType(String compressionType)
Задаёт тип сжатия одним из значений, указанных в getCompressionTypes.
void setProgressiveMode(int mode)
Указывает, что средство записи должно записать изображение в прогрессивном режиме, при котором поток будет содержать последовательность сканирований с возрастающим качеством.
void setTiling(int tileWidth, int tileHeight, int tileGridXOffset, int tileGridYOffset)
Указывает, что изображение следует разбить на плитки в выходном потоке.
void setTilingMode(int mode)
Определяет, будет ли изображение разбито на плитки в выходном потоке и, если да, как будут задаваться параметры разбиения.
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 controller)
Задаёт объект IIOParamController, который будет использоваться для настройки этого объекта IIOParam при вызове метода activateController, переопределяя контроллер по умолчанию.
void setDestinationOffset(Point destinationOffset)
Задаёт смещение в целевом изображении, куда следует помещать будущие декодированные пиксели при чтении или куда будет записана область при записи.
void setDestinationType(ImageTypeSpecifier destinationType)
Задаёт желаемый тип целевого изображения с помощью объекта ImageTypeSpecifier.
void setSourceBands(int[] sourceBands)
Задаёт индексы используемых исходных полос.
void setSourceRegion(Rectangle sourceRegion)
Задаёт исходную область интереса.
void setSourceSubsampling(int sourceXSubsampling, int sourceYSubsampling, int subsamplingXOffset, int subsamplingYOffset)
Задаёт прореживание при вводе-выводе.

Методы, объявленные в классе Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Модификатор и тип Метод Описание
protected Object clone()
Создаёт и возвращает копию этого объекта.
boolean equals(Object obj)
Показывает, равен ли этот объект другому объекту.
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(long timeoutMillis)
Приостанавливает текущий поток до его пробуждения, обычно в результате вызова notify или interrupt, либо до истечения заданного промежутка реального времени.
final void wait(long timeoutMillis, int nanos)
Приостанавливает текущий поток до его пробуждения, обычно в результате вызова 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.
Возвращает:
указывает, записываются ли данные в порядке сверху вниз.

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в документации Java SE, содержащей более подробные описания для разработчиков, включая обзоры концепций, определения терминов, обходные решения и рабочие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или её аффилированных лиц в США и других странах.
Авторские права © 1993, 2026, Oracle и/или её аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 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.

Spec-Zone.ru

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