You are viewing a plain text version of this content. The canonical link for it is here.
Posted to batik-commits@xmlgraphics.apache.org by je...@apache.org on 2011/02/07 21:29:48 UTC

svn commit: r1068104 - in /xmlgraphics/batik/trunk: resources/META-INF/services/ sources/org/apache/batik/ext/awt/image/codec/imageio/ sources/org/apache/batik/ext/awt/image/codec/jpeg/ sources/org/apache/batik/ext/awt/image/spi/

Author: jeremias
Date: Mon Feb  7 20:29:48 2011
New Revision: 1068104

URL: http://svn.apache.org/viewvc?rev=1068104&view=rev
Log:
ImageIOJPEGImageWriter is now a full replacement for JPEGImageWriter.

Removed:
    xmlgraphics/batik/trunk/sources/org/apache/batik/ext/awt/image/codec/jpeg/JPEGImageWriter.java
Modified:
    xmlgraphics/batik/trunk/resources/META-INF/services/org.apache.batik.ext.awt.image.spi.ImageWriter
    xmlgraphics/batik/trunk/sources/org/apache/batik/ext/awt/image/codec/imageio/ImageIOJPEGImageWriter.java
    xmlgraphics/batik/trunk/sources/org/apache/batik/ext/awt/image/spi/ImageWriterParams.java

Modified: xmlgraphics/batik/trunk/resources/META-INF/services/org.apache.batik.ext.awt.image.spi.ImageWriter
URL: http://svn.apache.org/viewvc/xmlgraphics/batik/trunk/resources/META-INF/services/org.apache.batik.ext.awt.image.spi.ImageWriter?rev=1068104&r1=1068103&r2=1068104&view=diff
==============================================================================
--- xmlgraphics/batik/trunk/resources/META-INF/services/org.apache.batik.ext.awt.image.spi.ImageWriter (original)
+++ xmlgraphics/batik/trunk/resources/META-INF/services/org.apache.batik.ext.awt.image.spi.ImageWriter Mon Feb  7 20:29:48 2011
@@ -21,7 +21,6 @@
 # -----------------------------------------------------------------------------
 
 org.apache.batik.ext.awt.image.codec.png.PNGImageWriter
-org.apache.batik.ext.awt.image.codec.jpeg.JPEGImageWriter
 #org.apache.batik.ext.awt.image.codec.imageio.ImageIOPNGImageWriter
 #org.apache.batik.ext.awt.image.codec.imageio.ImageIOTIFFImageWriter
-#org.apache.batik.ext.awt.image.codec.imageio.ImageIOJPEGImageWriter
+org.apache.batik.ext.awt.image.codec.imageio.ImageIOJPEGImageWriter

Modified: xmlgraphics/batik/trunk/sources/org/apache/batik/ext/awt/image/codec/imageio/ImageIOJPEGImageWriter.java
URL: http://svn.apache.org/viewvc/xmlgraphics/batik/trunk/sources/org/apache/batik/ext/awt/image/codec/imageio/ImageIOJPEGImageWriter.java?rev=1068104&r1=1068103&r2=1068104&view=diff
==============================================================================
--- xmlgraphics/batik/trunk/sources/org/apache/batik/ext/awt/image/codec/imageio/ImageIOJPEGImageWriter.java (original)
+++ xmlgraphics/batik/trunk/sources/org/apache/batik/ext/awt/image/codec/imageio/ImageIOJPEGImageWriter.java Mon Feb  7 20:29:48 2011
@@ -37,25 +37,23 @@ import org.apache.batik.ext.awt.image.sp
 public class ImageIOJPEGImageWriter extends ImageIOImageWriter {
 
     private static final String JPEG_NATIVE_FORMAT = "javax_imageio_jpeg_image_1.0";
-    
+
     /**
      * Main constructor.
      */
     public ImageIOJPEGImageWriter() {
         super("image/jpeg");
     }
- 
-    /**
-     * @see ImageIOImageWriter#updateMetadata(javax.imageio.metadata.IIOMetadata, ImageWriterParams)
-     */
+
+    /** {@inheritDoc} */
+    @Override
     protected IIOMetadata updateMetadata(IIOMetadata meta, ImageWriterParams params) {
         //ImageIODebugUtil.dumpMetadata(meta);
         if (JPEG_NATIVE_FORMAT.equals(meta.getNativeMetadataFormatName())) {
             meta = addAdobeTransform(meta);
 
             IIOMetadataNode root = (IIOMetadataNode)meta.getAsTree(JPEG_NATIVE_FORMAT);
-            //IIOMetadataNode root = new IIOMetadataNode(jpegmeta);
-            
+
             IIOMetadataNode jv = getChildNode(root, "JPEGvariety");
             if (jv == null) {
                 jv = new IIOMetadataNode("JPEGvariety");
@@ -78,33 +76,22 @@ public class ImageIOJPEGImageWriter exte
                 child.setAttribute("Ydensity", params.getResolution().toString());
                 child.setAttribute("thumbWidth", null);
                 child.setAttribute("thumbHeight", null);
-                
+
             }
-            
-            /*
-            IIOMetadataNode ms = getChildNode(root, "markerSequence");
-            if (ms == null) {
-                ms = new IIOMetadataNode("markerSequence");
-                root.appendChild(ms);
-            }*/
-            
+
             try {
                 meta.setFromTree(JPEG_NATIVE_FORMAT, root);
-                //meta.mergeTree(JPEG_NATIVE_FORMAT, root);
             } catch (IIOInvalidTreeException e) {
-                throw new RuntimeException("Cannot update image metadata: " 
+                throw new RuntimeException("Cannot update image metadata: "
                             + e.getMessage(), e);
             }
 
             //ImageIODebugUtil.dumpMetadata(meta);
-            
-            //meta = super.updateMetadata(meta, params);
-            //ImageIODebugUtil.dumpMetadata(meta);
         }
-        
+
         return meta;
     }
-    
+
     private static IIOMetadata addAdobeTransform(IIOMetadata meta) {
         // add the adobe transformation (transform 1 -> to YCbCr)
         IIOMetadataNode root = (IIOMetadataNode)meta.getAsTree(JPEG_NATIVE_FORMAT);
@@ -130,32 +117,30 @@ public class ImageIOJPEGImageWriter exte
         try {
             meta.setFromTree(JPEG_NATIVE_FORMAT, root);
         } catch (IIOInvalidTreeException e) {
-            throw new RuntimeException("Cannot update image metadata: " 
+            throw new RuntimeException("Cannot update image metadata: "
                         + e.getMessage(), e);
         }
         return meta;
-    }    
-    
-    /**
-     * @see ImageIOImageWriter#getDefaultWriteParam(javax.imageio.ImageWriter, java.awt.image.RenderedImage, ImageWriterParams)
-     */
+    }
+
+    /** {@inheritDoc} */
+    @Override
     protected ImageWriteParam getDefaultWriteParam(
             ImageWriter iiowriter, RenderedImage image,
             ImageWriterParams params) {
         JPEGImageWriteParam param = new JPEGImageWriteParam(iiowriter.getLocale());
-        //ImageTypeSpecifier type = ImageTypeSpecifier.createFromRenderedImage(image);
-        /*
-        ImageTypeSpecifier type = new ImageTypeSpecifier(
-                image.getColorModel(), image.getSampleModel());
-                */
-        /* didn't work as expected...
-        ImageTypeSpecifier type = ImageTypeSpecifier.createFromBufferedImageType(
-                BufferedImage.TYPE_INT_RGB);
-        param.setDestinationType(type);
-        param.setSourceBands(new int[] {0, 1, 2});
-        */
+        param.setCompressionMode(ImageWriteParam.MODE_EXPLICIT);
+        param.setCompressionQuality(params.getJPEGQuality());
+        if (params.getCompressionMethod() != null
+                && !"JPEG".equals(params.getCompressionMethod())) {
+            throw new IllegalArgumentException(
+                    "No compression method other than JPEG is supported for JPEG output!");
+        }
+        if (params.getJPEGForceBaseline()) {
+            param.setProgressiveMode(JPEGImageWriteParam.MODE_DISABLED);
+        }
         return param;
     }
-    
-    
+
+
 }

Modified: xmlgraphics/batik/trunk/sources/org/apache/batik/ext/awt/image/spi/ImageWriterParams.java
URL: http://svn.apache.org/viewvc/xmlgraphics/batik/trunk/sources/org/apache/batik/ext/awt/image/spi/ImageWriterParams.java?rev=1068104&r1=1068103&r2=1068104&view=diff
==============================================================================
--- xmlgraphics/batik/trunk/sources/org/apache/batik/ext/awt/image/spi/ImageWriterParams.java (original)
+++ xmlgraphics/batik/trunk/sources/org/apache/batik/ext/awt/image/spi/ImageWriterParams.java Mon Feb  7 20:29:48 2011
@@ -25,12 +25,12 @@ package org.apache.batik.ext.awt.image.s
  * @version $Id$
  */
 public class ImageWriterParams {
-    
+
     private Integer resolution;
     private Float jpegQuality;
     private Boolean jpegForceBaseline;
     private String compressionMethod;
-    
+
     /**
      * Default constructor.
      */
@@ -44,28 +44,28 @@ public class ImageWriterParams {
     public Integer getResolution() {
         return this.resolution;
     }
-    
+
     /**
-     * @return the quality value for encoding a JPEG image 
+     * @return the quality value for encoding a JPEG image
      *          (0.0-1.0), or null if undefined
      */
     public Float getJPEGQuality() {
         return this.jpegQuality;
     }
-    
+
     /**
-     * @return true if the baseline quantization table is forced, 
+     * @return true if the baseline quantization table is forced,
      *          or null if undefined.
      */
     public Boolean getJPEGForceBaseline() {
         return this.jpegForceBaseline;
     }
-    
+
     /** @return the compression method for encoding the image */
     public String getCompressionMethod() {
         return this.compressionMethod;
     }
-    
+
     /**
      * Sets the target resolution of the bitmap image to be written.
      * @param dpi the resolution in dpi
@@ -73,7 +73,7 @@ public class ImageWriterParams {
     public void setResolution(int dpi) {
         this.resolution = new Integer(dpi);
     }
-    
+
     /**
      * Sets the quality setting for encoding JPEG images.
      * @param quality the quality setting (0.0-1.0)
@@ -81,9 +81,9 @@ public class ImageWriterParams {
      */
     public void setJPEGQuality(float quality, boolean forceBaseline) {
         this.jpegQuality = new Float(quality);
-        this.jpegForceBaseline = forceBaseline?Boolean.TRUE:Boolean.FALSE;
+        this.jpegForceBaseline = forceBaseline ? Boolean.TRUE : Boolean.FALSE;
     }
-    
+
     /**
      * Set the compression method that shall be used to encode the image.
      * @param method the compression method