1 58 package org.krysalis.barcode.output.bitmap; 59 60 import java.awt.image.BufferedImage ; 61 import java.io.IOException ; 62 import java.io.OutputStream ; 63 64 import com.sun.image.codec.jpeg.JPEGCodec; 65 import com.sun.image.codec.jpeg.JPEGEncodeParam; 66 import com.sun.image.codec.jpeg.JPEGImageEncoder; 67 68 73 public class SunJPEGBitmapEncoder implements BitmapEncoder { 74 75 private static final String MIME_JPEG = "image/jpeg"; 76 77 83 public SunJPEGBitmapEncoder() throws ClassNotFoundException { 84 Class.forName("com.sun.image.codec.jpeg.JPEGCodec"); 85 } 86 87 88 public String [] getSupportedMIMETypes() { 89 return new String [] {MIME_JPEG}; 90 } 91 92 93 public void encode(BufferedImage image, OutputStream out, String mime, int resolution) 94 throws IOException { 95 if (!MIME_JPEG.equals(mime)) { 96 throw new IllegalArgumentException ("Unsupported MIME type: " + mime); 97 } 98 JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out); 99 JPEGEncodeParam param = encoder.getDefaultJPEGEncodeParam(image); 100 param.setXDensity(resolution); 102 param.setYDensity(resolution); 103 param.setDensityUnit(JPEGEncodeParam.DENSITY_UNIT_DOTS_INCH); 104 encoder.encode(image, param); 105 } 106 107 } 108 | Popular Tags |