gnu.javax.imageio.bmp

Class BMPImageWriter

Implemented Interfaces:
ImageTranscoder

public class BMPImageWriter
extends ImageWriter

Field Summary

protected BMPEncoder
encoder
protected BMPFileHeader
fileHeader
protected BMPInfoHeader
infoHeader

Fields inherited from class javax.imageio.ImageWriter

availableLocales, locale, originatingProvider, output, progressListeners, warningListeners, warningLocales

Constructor Summary

BMPImageWriter(ImageWriterSpi originatingProvider)
Construct an bmp image writer.

Method Summary

IIOMetadata
convertImageMetadata(IIOMetadata inData, ImageTypeSpecifier imageType, ImageWriteParam param)
Convert IIOMetadata from an input reader format, returning an IIOMetadata suitable for use by an image writer.
IIOMetadata
convertStreamMetadata(IIOMetadata inData, ImageWriteParam param)
Convert IIOMetadata from an input stream format, returning an IIOMetadata suitable for use by an image writer.
IIOMetadata
getDefaultImageMetadata(ImageTypeSpecifier imageType, ImageWriteParam param)
Get a metadata object appropriate for encoding an image specified by the given image type specifier and optional image write parameters.
IIOMetadata
getDefaultStreamMetadata(ImageWriteParam param)
Get a metadata object appropriate for encoding the default image type handled by this writer, optionally considering image write parameters.
void
write(IIOMetadata streamMetadata, IIOImage image, ImageWriteParam param)
Write an image stream, including thumbnails and metadata to the output stream.

Methods inherited from class javax.imageio.ImageWriter

abort, abortRequested, addIIOWriteProgressListener, addIIOWriteWarningListener, canInsertEmpty, canInsertImage, canRemoveImage, canReplaceImageMetadata, canReplacePixels, canReplaceStreamMetadata, canWriteEmpty, canWriteRasters, canWriteSequence, clearAbortRequest, convertImageMetadata, convertStreamMetadata, dispose, endInsertEmpty, endReplacePixels, endWriteEmpty, endWriteSequence, getAvailableLocales, getDefaultImageMetadata, getDefaultStreamMetadata, getDefaultWriteParam, 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, reset, setLocale, setOutput, write, write, write, writeInsert, writeToSequence

Methods inherited from class java.lang.Object

clone, equals, extends Object> getClass, finalize, hashCode, notify, notifyAll, toString, wait, wait, wait

Field Details

encoder

protected BMPEncoder encoder

fileHeader

protected BMPFileHeader fileHeader

infoHeader

protected BMPInfoHeader infoHeader

Constructor Details

BMPImageWriter

protected BMPImageWriter(ImageWriterSpi originatingProvider)
Construct an bmp image writer.
Parameters:
originatingProvider - - the provider that is constructing this image writer, or null

Method Details

convertImageMetadata

public IIOMetadata convertImageMetadata(IIOMetadata inData,
                                        ImageTypeSpecifier imageType,
                                        ImageWriteParam param)
Convert IIOMetadata from an input reader format, returning an IIOMetadata suitable for use by an image writer. The ImageTypeSpecifier specifies the destination image type. An optional ImageWriteParam argument is available in case the image writing parameters affect the metadata conversion.
Specified by:
convertImageMetadata in interface ImageTranscoder
Overrides:
convertImageMetadata in interface ImageWriter
Parameters:
inData - - the metadata coming from an image reader
imageType - - the output image type of the writer
param - - the image writing parameters or null
Returns:
the converted metadata that should be used by the image writer, or null if this ImageTranscoder has no knowledge of the input metadata
Throws:
IllegalArgumentException - if either inData or imageType is null

convertStreamMetadata

public IIOMetadata convertStreamMetadata(IIOMetadata inData,
                                         ImageWriteParam param)
Convert IIOMetadata from an input stream format, returning an IIOMetadata suitable for use by an image writer. An optional ImageWriteParam argument is available in case the image writing parameters affect the metadata conversion.
Specified by:
convertStreamMetadata in interface ImageTranscoder
Overrides:
convertStreamMetadata in interface ImageWriter
Parameters:
inData - - the metadata coming from an input image stream
param - - the image writing parameters or null
Returns:
the converted metadata that should be used by the image writer, or null if this ImageTranscoder has no knowledge of the input metadata
Throws:
IllegalArgumentException - if inData is null

getDefaultImageMetadata

public IIOMetadata getDefaultImageMetadata(ImageTypeSpecifier imageType,
                                           ImageWriteParam param)
Get a metadata object appropriate for encoding an image specified by the given image type specifier and optional image write parameters.
Overrides:
getDefaultImageMetadata in interface ImageWriter
Parameters:
imageType - - an image type specifier
param - - image writing parameters, or null
Returns:
a metadata object appropriate for encoding an image of the given type with the given parameters

getDefaultStreamMetadata

public IIOMetadata getDefaultStreamMetadata(ImageWriteParam param)
Get a metadata object appropriate for encoding the default image type handled by this writer, optionally considering image write parameters.
Overrides:
getDefaultStreamMetadata in interface ImageWriter
Parameters:
param - - image writing parameters, or null
Returns:
a metadata object appropriate for encoding an image of the default type with the given parameters

write

public void write(IIOMetadata streamMetadata,
                  IIOImage image,
                  ImageWriteParam param)
            throws IOException,
                   BMPException
Write an image stream, including thumbnails and metadata to the output stream. The output must have been set prior to this method being called. Metadata associated with the stream may be supplied, or it can be left null. IIOImage may contain raster data if this writer supports rasters, or it will contain a rendered image. Thumbnails are resized if need be. Image writing parameters may be specified to affect writing, or may be left null.
Overrides:
write in interface ImageWriter
Parameters:
streamMetadata - - metadata associated with this stream, or null
image - - an IIOImage containing image data, metadata and thumbnails to be written
param - - image writing parameters, or null
Throws:
IOException - if a write error occurs
BMPException - if the encoder has not been initialized.

BMPImageWriter.java -- Copyright (C) 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. GNU Classpath is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. GNU Classpath is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GNU Classpath; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination. As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version.