< prev index next >

src/java.desktop/share/classes/com/sun/imageio/plugins/bmp/BMPImageWriter.java

Print this page




  52 import javax.imageio.ImageIO;
  53 import javax.imageio.ImageTypeSpecifier;
  54 import javax.imageio.ImageWriteParam;
  55 import javax.imageio.ImageWriter;
  56 import javax.imageio.metadata.IIOMetadata;
  57 import javax.imageio.spi.ImageWriterSpi;
  58 import javax.imageio.stream.ImageOutputStream;
  59 import javax.imageio.event.IIOWriteProgressListener;
  60 import javax.imageio.event.IIOWriteWarningListener;
  61 
  62 
  63 import javax.imageio.plugins.bmp.BMPImageWriteParam;
  64 import com.sun.imageio.plugins.common.ImageUtil;
  65 import com.sun.imageio.plugins.common.I18N;
  66 
  67 /**
  68  * The Java Image IO plugin writer for encoding a binary RenderedImage into
  69  * a BMP format.
  70  *
  71  * The encoding process may clip, subsample using the parameters
  72  * specified in the <code>ImageWriteParam</code>.
  73  *
  74  * @see javax.imageio.plugins.bmp.BMPImageWriteParam
  75  */
  76 public class BMPImageWriter extends ImageWriter implements BMPConstants {
  77     /** The output stream to write into */
  78     private ImageOutputStream stream = null;
  79     private ByteArrayOutputStream embedded_stream = null;
  80     private int version;
  81     private int compressionType;
  82     private boolean isTopDown;
  83     private int w, h;
  84     private int compImageSize = 0;
  85     private int[] bitMasks;
  86     private int[] bitPos;
  87     private byte[] bpixels;
  88     private short[] spixels;
  89     private int[] ipixels;
  90 
  91     /** Constructs <code>BMPImageWriter</code> based on the provided
  92      *  <code>ImageWriterSpi</code>.
  93      */
  94     public BMPImageWriter(ImageWriterSpi originator) {
  95         super(originator);
  96     }
  97 
  98     public void setOutput(Object output) {
  99         super.setOutput(output); // validates output
 100         if (output != null) {
 101             if (!(output instanceof ImageOutputStream))
 102                 throw new IllegalArgumentException(I18N.getString("BMPImageWriter0"));
 103             this.stream = (ImageOutputStream)output;
 104             stream.setByteOrder(ByteOrder.LITTLE_ENDIAN);
 105         } else
 106             this.stream = null;
 107     }
 108 
 109     public ImageWriteParam getDefaultWriteParam() {
 110         return new BMPImageWriteParam();
 111     }
 112 




  52 import javax.imageio.ImageIO;
  53 import javax.imageio.ImageTypeSpecifier;
  54 import javax.imageio.ImageWriteParam;
  55 import javax.imageio.ImageWriter;
  56 import javax.imageio.metadata.IIOMetadata;
  57 import javax.imageio.spi.ImageWriterSpi;
  58 import javax.imageio.stream.ImageOutputStream;
  59 import javax.imageio.event.IIOWriteProgressListener;
  60 import javax.imageio.event.IIOWriteWarningListener;
  61 
  62 
  63 import javax.imageio.plugins.bmp.BMPImageWriteParam;
  64 import com.sun.imageio.plugins.common.ImageUtil;
  65 import com.sun.imageio.plugins.common.I18N;
  66 
  67 /**
  68  * The Java Image IO plugin writer for encoding a binary RenderedImage into
  69  * a BMP format.
  70  *
  71  * The encoding process may clip, subsample using the parameters
  72  * specified in the {@code ImageWriteParam}.
  73  *
  74  * @see javax.imageio.plugins.bmp.BMPImageWriteParam
  75  */
  76 public class BMPImageWriter extends ImageWriter implements BMPConstants {
  77     /** The output stream to write into */
  78     private ImageOutputStream stream = null;
  79     private ByteArrayOutputStream embedded_stream = null;
  80     private int version;
  81     private int compressionType;
  82     private boolean isTopDown;
  83     private int w, h;
  84     private int compImageSize = 0;
  85     private int[] bitMasks;
  86     private int[] bitPos;
  87     private byte[] bpixels;
  88     private short[] spixels;
  89     private int[] ipixels;
  90 
  91     /** Constructs {@code BMPImageWriter} based on the provided
  92      *  {@code ImageWriterSpi}.
  93      */
  94     public BMPImageWriter(ImageWriterSpi originator) {
  95         super(originator);
  96     }
  97 
  98     public void setOutput(Object output) {
  99         super.setOutput(output); // validates output
 100         if (output != null) {
 101             if (!(output instanceof ImageOutputStream))
 102                 throw new IllegalArgumentException(I18N.getString("BMPImageWriter0"));
 103             this.stream = (ImageOutputStream)output;
 104             stream.setByteOrder(ByteOrder.LITTLE_ENDIAN);
 105         } else
 106             this.stream = null;
 107     }
 108 
 109     public ImageWriteParam getDefaultWriteParam() {
 110         return new BMPImageWriteParam();
 111     }
 112 


< prev index next >