Author: allain.lalonde Date: Sat Jul 18 05:36:33 2009 New Revision: 511 Modified: piccolo2d.java/trunk/core/src/main/java/edu/umd/cs/piccolo/nodes/PImage.java
Log: Fixing bug with PImage being run in Headless Mode Modified: piccolo2d.java/trunk/core/src/main/java/edu/umd/cs/piccolo/nodes/PImage.java ============================================================================== --- piccolo2d.java/trunk/core/src/main/java/edu/umd/cs/piccolo/nodes/PImage.java (original) +++ piccolo2d.java/trunk/core/src/main/java/edu/umd/cs/piccolo/nodes/PImage.java Sat Jul 18 05:36:33 2009 @@ -34,6 +34,7 @@ import java.awt.Image; import java.awt.MediaTracker; import java.awt.Toolkit; +import java.awt.Transparency; import java.awt.image.BufferedImage; import java.io.IOException; import java.io.ObjectInputStream; @@ -218,14 +219,21 @@ return (BufferedImage) image; } - GraphicsConfiguration graphicsConfiguration = GraphicsEnvironment.getLocalGraphicsEnvironment() - .getDefaultScreenDevice().getDefaultConfiguration(); - BufferedImage result = graphicsConfiguration.createCompatibleImage(image.getWidth(null), image.getHeight(null)); + BufferedImage result; + + if (GraphicsEnvironment.isHeadless()) { + result = new BufferedImage(image.getWidth(null), image.getHeight(null), BufferedImage.TYPE_INT_ARGB); + } + else { + GraphicsConfiguration graphicsConfiguration = GraphicsEnvironment.getLocalGraphicsEnvironment() + .getDefaultScreenDevice().getDefaultConfiguration(); + result = graphicsConfiguration.createCompatibleImage(image.getWidth(null), image.getHeight(null)); + } + Graphics2D g2 = result.createGraphics(); g2.drawImage(image, 0, 0, null); g2.dispose(); return result; - } /** --~--~---------~--~----~------------~-------~--~----~ Piccolo2D Developers Group: http://groups.google.com/group/piccolo2d-dev?hl=en -~----------~----~----~----~------~----~------~--~---