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 int
private int
private ByteArrayOutputStream
private int
private int[]
private boolean
private short[]
private ImageOutputStream
The output stream to write intoprivate int
Fields inherited from class javax.imageio.ImageWriter
availableLocales, locale, originatingProvider, output, progressListeners, warningListeners, warningLocales
Fields inherited from interface com.github.jaiimageio.impl.plugins.bmp.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) ConstructsBMPImageWriter
based on the providedImageWriterSpi
. -
Method Summary
Modifier and TypeMethodDescriptionprotected boolean
canEncodeImage
(int compression, ColorModel cm, SampleModel sm) protected boolean
canEncodeImage
(int compression, ImageTypeSpecifier imgType) boolean
convertImageMetadata
(IIOMetadata inData, ImageTypeSpecifier imageType, ImageWriteParam param) convertStreamMetadata
(IIOMetadata inData, ImageWriteParam param) private void
encodeRLE4
(byte[] bipixels, int scanlineBytes) private void
encodeRLE8
(byte[] bpixels, int scanlineBytes) private int
firstLowBit
(int num) (package private) static int
getCompressionType
(String typeString) getDefaultImageMetadata
(ImageTypeSpecifier imageType, ImageWriteParam param) (package private) static int
(package private) static int
getPreferredCompressionType
(ImageTypeSpecifier imageType) private void
incCompImageSize
(int value) private boolean
isEven
(int number) void
reset()
private int
roundBpp
(int x) void
void
write
(IIOMetadata streamMetadata, IIOImage image, ImageWriteParam param) private void
writeEmbedded
(IIOImage image, ImageWriteParam bmpParam) private void
writeFileHeader
(int fileSize, int offset) private void
writeInfoHeader
(int headerSize, int bitsPerPixel) protected void
writeMaskToPalette
(int mask, int i, byte[] r, byte[] g, byte[] b, byte[] a) private void
writePixels
(int l, int scanlineBytes, int bitsPerPixel, int[] pixels, int padding, int numBands, IndexColorModel icm) private void
writeSize
(int dword, int offset) Methods inherited from class javax.imageio.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
ConstructsBMPImageWriter
based on the providedImageWriterSpi
.
-
-
Method Details
-
setOutput
- Overrides:
setOutput
in classImageWriter
-
getDefaultWriteParam
- Overrides:
getDefaultWriteParam
in classImageWriter
-
getDefaultStreamMetadata
- Specified by:
getDefaultStreamMetadata
in classImageWriter
-
getDefaultImageMetadata
- Specified by:
getDefaultImageMetadata
in classImageWriter
-
convertStreamMetadata
- Specified by:
convertStreamMetadata
in interfaceImageTranscoder
- Specified by:
convertStreamMetadata
in classImageWriter
-
convertImageMetadata
public IIOMetadata convertImageMetadata(IIOMetadata inData, ImageTypeSpecifier imageType, ImageWriteParam param) - Specified by:
convertImageMetadata
in interfaceImageTranscoder
- Specified by:
convertImageMetadata
in classImageWriter
-
canWriteRasters
public boolean canWriteRasters()- Overrides:
canWriteRasters
in classImageWriter
-
write
public void write(IIOMetadata streamMetadata, IIOImage image, ImageWriteParam param) throws IOException - Specified by:
write
in 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:
reset
in 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)
-