com.sun.media.imageio.plugins.bmp
Class BMPImageWriteParam

java.lang.Object
  |
  +--javax.imageio.IIOParam
        |
        +--javax.imageio.ImageWriteParam
              |
              +--com.sun.media.imageio.plugins.bmp.BMPImageWriteParam

public class BMPImageWriteParam
extends ImageWriteParam

A subclass of 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 version used is VERSION_3, no compression is used, and the data layout is bottom_up, such that the pixels are stored in bottom-up order, the first scanline being stored last.

Compression may be requested if the BMP version is 3.0. 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 only if it is compatible with the type of image being written. The compression type strings and the image type(s) each supports are listed in the following table:

Compression Types
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-bit or 32-bit (See below)
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.


Field Summary
static int VERSION_2
          Constant for BMP version 2.
static int VERSION_3
          Constant for BMP version 3.
static int VERSION_4
          Constant for BMP version 4.
static int VERSION_5
          Constant for BMP version 5.
 
Fields inherited from class javax.imageio.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
 
Fields inherited from class javax.imageio.IIOParam
controller, defaultController, destinationOffset, destinationType, sourceBands, sourceRegion, sourceXSubsampling, sourceYSubsampling, subsamplingXOffset, subsamplingYOffset
 
Constructor Summary
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.
 
Method Summary
 int getVersion()
          Returns the BMP version to be used.
 boolean isTopDown()
          Returns the value of the topDown parameter.
 void setTopDown(boolean topDown)
          If set, the data will be written out in a top-down manner, the first scanline being written first.
 
Methods inherited from class javax.imageio.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
 
Methods inherited from class javax.imageio.IIOParam
activateController, getController, getDefaultController, getDestinationOffset, getDestinationType, getSourceBands, getSourceRegion, getSourceXSubsampling, getSourceYSubsampling, getSubsamplingXOffset, getSubsamplingYOffset, hasController, setController, setDestinationOffset, setDestinationType, setSourceBands, setSourceRegion, setSourceSubsampling
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

VERSION_2

public static final int VERSION_2
Constant for BMP version 2.

See Also:
Constant Field Values

VERSION_3

public static final int VERSION_3
Constant for BMP version 3.

See Also:
Constant Field Values

VERSION_4

public static final int VERSION_4
Constant for BMP version 4.

See Also:
Constant Field Values

VERSION_5

public static final int VERSION_5
Constant for BMP version 5.

See Also:
Constant Field Values
Constructor Detail

BMPImageWriteParam

public BMPImageWriteParam(Locale locale)
Constructs a BMPImageWriteParam set to use a given Locale and with default values for all parameters.

Parameters:
locale - a Locale to be used to localize compression type names and quality descriptions, or null.

BMPImageWriteParam

public BMPImageWriteParam()
Constructs an BMPImageWriteParam object with default values for all parameters and a null Locale.

Method Detail

getVersion

public int getVersion()
Returns the BMP version to be used. The default is VERSION_3.

Returns:
the BMP version number.

setTopDown

public void setTopDown(boolean topDown)
If set, the data will be written out in a top-down manner, the first scanline being written first.

Parameters:
topDown - whether the data are written in top-down order.

isTopDown

public boolean isTopDown()
Returns the value of the topDown parameter. The default is false.

Returns:
whether the data are written in top-down order.