[richfaces-svn-commits] JBoss Rich Faces SVN: r18845 - trunk/core/api/src/main/java/org/richfaces/resource.

richfaces-svn-commits at lists.jboss.org richfaces-svn-commits at lists.jboss.org
Fri Aug 20 10:02:28 EDT 2010


Author: nbelaevski
Date: 2010-08-20 10:02:27 -0400 (Fri, 20 Aug 2010)
New Revision: 18845

Modified:
   trunk/core/api/src/main/java/org/richfaces/resource/ImageType.java
Log:
https://jira.jboss.org/browse/RF-9119

Modified: trunk/core/api/src/main/java/org/richfaces/resource/ImageType.java
===================================================================
--- trunk/core/api/src/main/java/org/richfaces/resource/ImageType.java	2010-08-20 12:06:11 UTC (rev 18844)
+++ trunk/core/api/src/main/java/org/richfaces/resource/ImageType.java	2010-08-20 14:02:27 UTC (rev 18845)
@@ -21,14 +21,20 @@
  */
 package org.richfaces.resource;
 
+import java.awt.Transparency;
+import java.awt.color.ColorSpace;
 import java.awt.image.BufferedImage;
+import java.awt.image.ColorModel;
+import java.awt.image.ComponentColorModel;
+import java.awt.image.DataBuffer;
 import java.awt.image.IndexColorModel;
+import java.awt.image.WritableRaster;
 
 public enum ImageType {
     GIF("gif") {
         @Override
         public BufferedImage createImage(int width, int height) {
-            return createARGBImage(width, height);
+            return createBitmaskImage(width, height);
         }
     },
     PNG("png") {
@@ -98,6 +104,15 @@
         return new BufferedImage(width, height, BufferedImage.TYPE_INT_ARGB);
     }
 
+    private static BufferedImage createBitmaskImage(int width, int height) {
+        ColorModel colorModel = new ComponentColorModel(ColorSpace.getInstance(ColorSpace.CS_sRGB), true, false, 
+            Transparency.BITMASK, DataBuffer.TYPE_BYTE);
+        
+        WritableRaster raster = colorModel.createCompatibleWritableRaster(width, height);
+        
+        return new BufferedImage(colorModel, raster, colorModel.isAlphaPremultiplied(), null);
+    }
+    
     public abstract BufferedImage createImage(int width, int height);
 
     public String getFormatName() {



More information about the richfaces-svn-commits mailing list