You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by da...@apache.org on 2012/02/26 09:28:37 UTC

svn commit: r1293773 - /commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/gif/GifImageParser.java

Author: damjan
Date: Sun Feb 26 08:28:36 2012
New Revision: 1293773

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


Modified:
    commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/gif/GifImageParser.java

Modified: commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/gif/GifImageParser.java
URL: http://svn.apache.org/viewvc/commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/gif/GifImageParser.java?rev=1293773&r1=1293772&r2=1293773&view=diff
==============================================================================
--- commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/gif/GifImageParser.java (original)
+++ commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/gif/GifImageParser.java Sun Feb 26 08:28:36 2012
@@ -39,6 +39,7 @@ import org.apache.commons.sanselan.Image
 import org.apache.commons.sanselan.ImageWriteException;
 import org.apache.commons.sanselan.common.BinaryOutputStream;
 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.common.mylzw.MyLzwCompressor;
 import org.apache.commons.sanselan.common.mylzw.MyLzwDecompressor;
@@ -732,8 +733,7 @@ public class GifImageParser extends Imag
         if (gce != null && gce.transparency)
             hasAlpha = true;
 
-        BufferedImage result = getBufferedImageFactory(params)
-                .getColorBufferedImage(width, height, hasAlpha);
+        ImageBuilder imageBuilder = new ImageBuilder(width, height, hasAlpha);
 
         {
             int colorTable[];
@@ -755,8 +755,6 @@ public class GifImageParser extends Imag
             int rowsInPass3 = (height + 1) / 4;
             int rowsInPass4 = (height) / 2;
 
-            DataBuffer db = result.getRaster().getDataBuffer();
-
             for (int row = 0; row < height; row++)
             {
                 int y;
@@ -797,13 +795,13 @@ public class GifImageParser extends Imag
                     if (transparentIndex == index)
                         rgb = 0x00;
 
-                    db.setElem(y * width + x, rgb);
+                    imageBuilder.setRGB(x, y, rgb);
                 }
 
             }
         }
 
-        return result;
+        return imageBuilder.getBufferedImage();
 
     }