public class BMPImageWriteParam extends ImageWriteParam
ImageWriteParam
for encoding images in
the BMP format.
This class allows for the specification of various parameters while writing a BMP format image file. By default, the data layout is bottom-up, such that the pixels are stored in bottom-up order, the first scanline being stored last.
The particular compression scheme to be used can be specified by using
the setCompressionType()
method with the appropriate type
string. The compression scheme specified will be honored if and only if it
is compatible with the type of image being written. If the specified
compression scheme is not compatible with the type of image being written
then the IOException
will be thrown by the BMP image writer.
If the compression type is not set explicitly then getCompressionType()
will return null
. In this case the BMP image writer will select
a compression type that supports encoding of the given image without loss
of the color resolution.
The compression type strings and the image type(s) each supports are listed in the following table:
Type String | Description | Image Types |
---|---|---|
BI_RGB | Uncompressed RLE | <= 8-bits/sample |
BI_RLE8 | 8-bit Run Length Encoding | <= 8-bits/sample |
BI_RLE4 | 4-bit Run Length Encoding | <= 4-bits/sample |
BI_BITFIELDS | Packed data | 16 or 32 bits/sample |
BI_JPEG | JPEG encoded | grayscale or RGB image |
When BI_BITFIELDS
is used, if the image encoded has a
DirectColorModel
, the bit mask in the color model will be
written into the stream. Otherwise, only 5-5-5 16-bit image or 8-8-8
32-bit images are supported.
Modifier and Type | Field and Description |
---|---|
static int |
VERSION_2
Deprecated.
|
static int |
VERSION_3
Deprecated.
|
static int |
VERSION_4
Deprecated.
|
static int |
VERSION_5
Deprecated.
|
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
controller, defaultController, destinationOffset, destinationType, sourceBands, sourceRegion, sourceXSubsampling, sourceYSubsampling, subsamplingXOffset, subsamplingYOffset
Constructor and Description |
---|
BMPImageWriteParam()
Constructs an
BMPImageWriteParam object with default
values for all parameters and a null Locale . |
BMPImageWriteParam(Locale locale)
Constructs a
BMPImageWriteParam set to use a given
Locale and with default values for all parameters. |
Modifier and Type | Method and Description |
---|---|
int |
getVersion()
Deprecated.
|
boolean |
isTopDown()
Returns the value of the
topDown parameter. |
void |
setCompressionType(String compressionType)
Sets the compression type to one of the values indicated by
getCompressionTypes . |
void |
setTopDown(boolean topDown)
If set, the data will be written out in a top-down manner, the first
scanline being written first.
|
canOffsetTiles, canWriteCompressed, canWriteProgressive, canWriteTiles, getBitRate, getCompressionMode, getCompressionQuality, getCompressionQualityDescriptions, getCompressionQualityValues, getCompressionType, getCompressionTypes, getLocale, getLocalizedCompressionTypeName, getPreferredTileSizes, getProgressiveMode, getTileGridXOffset, getTileGridYOffset, getTileHeight, getTileWidth, getTilingMode, isCompressionLossless, setCompressionMode, setCompressionQuality, setProgressiveMode, setTiling, setTilingMode, unsetCompression, unsetTiling
activateController, getController, getDefaultController, getDestinationOffset, getDestinationType, getSourceBands, getSourceRegion, getSourceXSubsampling, getSourceYSubsampling, getSubsamplingXOffset, getSubsamplingYOffset, hasController, setController, setDestinationOffset, setDestinationType, setSourceBands, setSourceRegion, setSourceSubsampling
public static final int VERSION_2
public static final int VERSION_3
public static final int VERSION_4
public static final int VERSION_5
public BMPImageWriteParam(Locale locale)
BMPImageWriteParam
set to use a given
Locale
and with default values for all parameters.locale
- a Locale
to be used to localize
compression type names and quality descriptions, or
null
.public BMPImageWriteParam()
BMPImageWriteParam
object with default
values for all parameters and a null
Locale
.public int getVersion()
VERSION_3
.public void setTopDown(boolean topDown)
BI_RGB
or
BI_BITFIELDS
is incompatible with the data being
written in top-down order. Setting the topDown
argument
to true
will be honored only when the compression
type at the time of writing the image is one of the two mentioned
above. Otherwise, the topDown
setting will be ignored.topDown
- whether the data are written in top-down order.public boolean isTopDown()
topDown
parameter.
The default is false
.public void setCompressionType(String compressionType)
getCompressionTypes
. If a value of
null
is passed in, any previous setting is
removed.
The method first invokes
with the supplied value of setCompressionType()
compressionType
. Next,
if isTopDown()
returns true
and the
value of compressionType
is incompatible with top-down
order, setTopDown(boolean)
is invoked with parameter
topDown
set to false
. The image will
then be written in bottom-up order with the specified
compressionType
.
setCompressionType
in class ImageWriteParam
compressionType
- one of the String
s returned
by getCompressionTypes
, or null
to
remove any previous setting.UnsupportedOperationException
- if the writer does not
support compression.IllegalStateException
- if the compression mode is not
MODE_EXPLICIT
.UnsupportedOperationException
- if there are no
settable compression types.IllegalArgumentException
- if
compressionType
is non-null
but is not
one of the values returned by getCompressionTypes
.isTopDown()
,
setTopDown(boolean)
,
ImageWriteParam.getCompressionTypes()
,
ImageWriteParam.getCompressionType()
,
ImageWriteParam.unsetCompression()
Copyright © 2015–2022 SCIFIO. All rights reserved.