Class BMPImageWriter
java.lang.Object
javax.imageio.ImageWriter
com.github.jaiimageio.impl.plugins.bmp.BMPImageWriter
- All Implemented Interfaces:
BMPConstants, ImageTranscoder
The Java Image IO plugin writer for encoding a binary RenderedImage into
a BMP format.
The encoding process may clip, subsample using the parameters
specified in the
ImageWriteParam.- See Also:
-
Nested Class Summary
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate int[]private int[]private byte[]private intprivate intprivate ByteArrayOutputStreamprivate intprivate int[]private booleanprivate short[]private ImageOutputStreamThe output stream to write intoprivate intFields inherited from class ImageWriter
availableLocales, locale, originatingProvider, output, progressListeners, warningListeners, warningLocalesFields inherited from interface BMPConstants
BI_BITFIELDS, BI_JPEG, BI_PNG, BI_RGB, BI_RLE4, BI_RLE8, compressionTypeNames, LCS_CALIBRATED_RGB, LCS_sRGB, LCS_WINDOWS_COLOR_SPACE, PROFILE_EMBEDDED, PROFILE_LINKED, VERSION_2, VERSION_3, VERSION_3_NT, VERSION_4, VERSION_5 -
Constructor Summary
ConstructorsConstructorDescriptionBMPImageWriter(ImageWriterSpi originator) ConstructsBMPImageWriterbased on the providedImageWriterSpi. -
Method Summary
Modifier and TypeMethodDescriptionprotected booleancanEncodeImage(int compression, ColorModel cm, SampleModel sm) protected booleancanEncodeImage(int compression, ImageTypeSpecifier imgType) booleanconvertImageMetadata(IIOMetadata inData, ImageTypeSpecifier imageType, ImageWriteParam param) convertStreamMetadata(IIOMetadata inData, ImageWriteParam param) private voidencodeRLE4(byte[] bipixels, int scanlineBytes) private voidencodeRLE8(byte[] bpixels, int scanlineBytes) private intfirstLowBit(int num) (package private) static intgetCompressionType(String typeString) getDefaultImageMetadata(ImageTypeSpecifier imageType, ImageWriteParam param) (package private) static int(package private) static intgetPreferredCompressionType(ImageTypeSpecifier imageType) private voidincCompImageSize(int value) private booleanisEven(int number) voidreset()private introundBpp(int x) voidvoidwrite(IIOMetadata streamMetadata, IIOImage image, ImageWriteParam param) private voidwriteEmbedded(IIOImage image, ImageWriteParam bmpParam) private voidwriteFileHeader(int fileSize, int offset) private voidwriteInfoHeader(int headerSize, int bitsPerPixel) protected voidwriteMaskToPalette(int mask, int i, byte[] r, byte[] g, byte[] b, byte[] a) private voidwritePixels(int l, int scanlineBytes, int bitsPerPixel, int[] pixels, int padding, int numBands, IndexColorModel icm) private voidwriteSize(int dword, int offset) Methods inherited from class ImageWriter
abort, abortRequested, addIIOWriteProgressListener, addIIOWriteWarningListener, canInsertEmpty, canInsertImage, canRemoveImage, canReplaceImageMetadata, canReplacePixels, canReplaceStreamMetadata, canWriteEmpty, canWriteSequence, clearAbortRequest, dispose, endInsertEmpty, endReplacePixels, endWriteEmpty, endWriteSequence, getAvailableLocales, getLocale, getNumThumbnailsSupported, getOriginatingProvider, getOutput, getPreferredThumbnailSizes, prepareInsertEmpty, prepareReplacePixels, prepareWriteEmpty, prepareWriteSequence, processImageComplete, processImageProgress, processImageStarted, processThumbnailComplete, processThumbnailProgress, processThumbnailStarted, processWarningOccurred, processWarningOccurred, processWriteAborted, removeAllIIOWriteProgressListeners, removeAllIIOWriteWarningListeners, removeIIOWriteProgressListener, removeIIOWriteWarningListener, removeImage, replaceImageMetadata, replacePixels, replacePixels, replaceStreamMetadata, setLocale, write, write, writeInsert, writeToSequence
-
Field Details
-
stream
The output stream to write into -
embedded_stream
-
compressionType
private int compressionType -
isTopDown
private boolean isTopDown -
w
private int w -
h
private int h -
compImageSize
private int compImageSize -
bitMasks
private int[] bitMasks -
bitPos
private int[] bitPos -
bpixels
private byte[] bpixels -
spixels
private short[] spixels -
ipixels
private int[] ipixels
-
-
Constructor Details
-
BMPImageWriter
ConstructsBMPImageWriterbased on the providedImageWriterSpi.
-
-
Method Details
-
setOutput
- Overrides:
setOutputin classImageWriter
-
getDefaultWriteParam
- Overrides:
getDefaultWriteParamin classImageWriter
-
getDefaultStreamMetadata
- Specified by:
getDefaultStreamMetadatain classImageWriter
-
getDefaultImageMetadata
- Specified by:
getDefaultImageMetadatain classImageWriter
-
convertStreamMetadata
- Specified by:
convertStreamMetadatain interfaceImageTranscoder- Specified by:
convertStreamMetadatain classImageWriter
-
convertImageMetadata
public IIOMetadata convertImageMetadata(IIOMetadata inData, ImageTypeSpecifier imageType, ImageWriteParam param) - Specified by:
convertImageMetadatain interfaceImageTranscoder- Specified by:
convertImageMetadatain classImageWriter
-
canWriteRasters
public boolean canWriteRasters()- Overrides:
canWriteRastersin classImageWriter
-
write
public void write(IIOMetadata streamMetadata, IIOImage image, ImageWriteParam param) throws IOException - Specified by:
writein classImageWriter- Throws:
IOException
-
writePixels
private void writePixels(int l, int scanlineBytes, int bitsPerPixel, int[] pixels, int padding, int numBands, IndexColorModel icm) throws IOException - Throws:
IOException
-
encodeRLE8
- Throws:
IOException
-
encodeRLE4
- Throws:
IOException
-
incCompImageSize
private void incCompImageSize(int value) -
isEven
private boolean isEven(int number) -
writeFileHeader
- Throws:
IOException
-
writeInfoHeader
- Throws:
IOException
-
writeSize
- Throws:
IOException
-
reset
public void reset()- Overrides:
resetin classImageWriter
-
getCompressionType
-
writeEmbedded
- Throws:
IOException
-
firstLowBit
private int firstLowBit(int num) -
getPreferredCompressionType
-
getPreferredCompressionType
-
canEncodeImage
-
canEncodeImage
-
writeMaskToPalette
protected void writeMaskToPalette(int mask, int i, byte[] r, byte[] g, byte[] b, byte[] a) -
roundBpp
private int roundBpp(int x)
-