Author: kono
Date: 2011-06-28 13:36:51 -0700 (Tue, 28 Jun 2011)
New Revision: 25967

Modified:
   
core3/io-impl/trunk/src/main/java/org/cytoscape/io/internal/write/graphics/BitmapWriter.java
Log:
Broken jpeg file problem fixed.  (The cause was alpha channel handling in JDK's 
jpeg encoder)

Modified: 
core3/io-impl/trunk/src/main/java/org/cytoscape/io/internal/write/graphics/BitmapWriter.java
===================================================================
--- 
core3/io-impl/trunk/src/main/java/org/cytoscape/io/internal/write/graphics/BitmapWriter.java
        2011-06-28 20:33:59 UTC (rev 25966)
+++ 
core3/io-impl/trunk/src/main/java/org/cytoscape/io/internal/write/graphics/BitmapWriter.java
        2011-06-28 20:36:51 UTC (rev 25967)
@@ -3,6 +3,8 @@
 import static 
org.cytoscape.view.presentation.property.MinimalVisualLexicon.NETWORK_HEIGHT;
 import static 
org.cytoscape.view.presentation.property.MinimalVisualLexicon.NETWORK_WIDTH;
 
+import java.awt.Graphics2D;
+import java.awt.Image;
 import java.awt.image.BufferedImage;
 import java.io.OutputStream;
 import java.util.Set;
@@ -76,15 +78,20 @@
        public void run(TaskMonitor tm) throws Exception {
                logger.debug("Bitmap image rendering start.");
                
+               // Extract size
                final double scale = scaleFactor.getValue().doubleValue();
                final int finalW = 
((Number)(width.getValue()*scale)).intValue();
                final int finalH = 
((Number)(height.getValue()*scale)).intValue();
 
+               final BufferedImage image = new BufferedImage(finalW, finalH, 
BufferedImage.TYPE_INT_RGB);
+               Graphics2D g = (Graphics2D) image.getGraphics();
+               g.scale(scale, scale);
+               re.printCanvas(g);
+               g.dispose();
+               
                try {
-                       ImageIO.write(((BufferedImage) re.createImage(finalW, 
finalH)),
-                                       extension, outStream);                  
-               }
-               finally {
+                       ImageIO.write(image, extension, outStream);             
        
+               } finally {
                        outStream.close();
                }
                

-- 
You received this message because you are subscribed to the Google Groups 
"cytoscape-cvs" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/cytoscape-cvs?hl=en.

Reply via email to