Author: damjan
Date: Sun Feb 26 08:52:30 2012
New Revision: 1293786

URL: http://svn.apache.org/viewvc?rev=1293786&view=rev
Log:
Use ImageBuilder for PNM files.


Modified:
    
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/pnm/FileInfo.java
    
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/pnm/PnmImageParser.java

Modified: 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/pnm/FileInfo.java
URL: 
http://svn.apache.org/viewvc/commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/pnm/FileInfo.java?rev=1293786&r1=1293785&r2=1293786&view=diff
==============================================================================
--- 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/pnm/FileInfo.java
 (original)
+++ 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/pnm/FileInfo.java
 Sun Feb 26 08:52:30 2012
@@ -16,12 +16,12 @@
  */
 package org.apache.commons.sanselan.formats.pnm;
 
-import java.awt.image.BufferedImage;
 import java.awt.image.DataBuffer;
 import java.io.IOException;
 import java.io.InputStream;
 
 import org.apache.commons.sanselan.ImageFormat;
+import org.apache.commons.sanselan.common.ImageBuilder;
 
 public abstract class FileInfo
 {
@@ -56,15 +56,14 @@ public abstract class FileInfo
         // do nothing by default.
     }
 
-    public void readImage(BufferedImage bi, InputStream is) throws IOException
+    public void readImage(ImageBuilder imageBuilder, InputStream is) throws 
IOException
     {
         // is = new BufferedInputStream(is);
         // int count = 0;
         //
         // try
         // {
-        DataBuffer buffer = bi.getRaster().getDataBuffer();
-
+        
         if (!RAWBITS)
         {
             WhiteSpaceReader wsr = new WhiteSpaceReader(is);
@@ -75,7 +74,7 @@ public abstract class FileInfo
                 {
                     int rgb = getRGB(wsr);
 
-                    buffer.setElem(y * width + x, rgb);
+                    imageBuilder.setRGB(x, y, rgb);
                     // count++;
                 }
                 newline();
@@ -88,7 +87,7 @@ public abstract class FileInfo
                 for (int x = 0; x < width; x++)
                 {
                     int rgb = getRGB(is);
-                    buffer.setElem(y * width + x, rgb);
+                    imageBuilder.setRGB(x, y, rgb);
                     // count++;
                 }
                 newline();

Modified: 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/pnm/PnmImageParser.java
URL: 
http://svn.apache.org/viewvc/commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/pnm/PnmImageParser.java?rev=1293786&r1=1293785&r2=1293786&view=diff
==============================================================================
--- 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/pnm/PnmImageParser.java
 (original)
+++ 
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/pnm/PnmImageParser.java
 Sun Feb 26 08:52:30 2012
@@ -34,6 +34,7 @@ import org.apache.commons.sanselan.Image
 import org.apache.commons.sanselan.ImageReadException;
 import org.apache.commons.sanselan.ImageWriteException;
 import org.apache.commons.sanselan.common.IImageMetadata;
+import org.apache.commons.sanselan.common.ImageBuilder;
 import org.apache.commons.sanselan.common.bytesource.ByteSource;
 import org.apache.commons.sanselan.util.Debug;
 
@@ -275,12 +276,10 @@ public class PnmImageParser extends Imag
             int height = info.height;
 
             boolean hasAlpha = false;
-            BufferedImage result = getBufferedImageFactory(params)
-                    .getColorBufferedImage(width, height, hasAlpha);
+            ImageBuilder imageBuilder = new ImageBuilder(width, height, 
hasAlpha);
+            info.readImage(imageBuilder, is);
 
-            info.readImage(result, is);
-
-            return result;
+            return imageBuilder.getBufferedImage();
         } finally
         {
             try


Reply via email to