From: <fg...@us...> - 2009-12-30 22:31:55
|
Revision: 1566 http://openutils.svn.sourceforge.net/openutils/?rev=1566&view=rev Author: fgiust Date: 2009-12-30 22:31:48 +0000 (Wed, 30 Dec 2009) Log Message: ----------- MEDIA-33 workaround for empty gifs Modified Paths: -------------- trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/utils/ImageUtils.java trunk/openutils-mgnlmedia/src/test/java/net/sourceforge/openutils/mgnlmedia/media/utils/ImageUtilsTest.java Modified: trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/utils/ImageUtils.java =================================================================== --- trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/utils/ImageUtils.java 2009-12-30 21:42:59 UTC (rev 1565) +++ trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/utils/ImageUtils.java 2009-12-30 22:31:48 UTC (rev 1566) @@ -533,12 +533,23 @@ imageOutputStream = ImageIO.createImageOutputStream(out); imageWriter.setOutput(imageOutputStream); + IIOImage iioimage = new IIOImage(image, null, null); + try { // Write the changed Image - IIOImage iioimage = new IIOImage(image, null, null); imageWriter.write(null, iioimage, params); } + catch (NullPointerException e) + { + // http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6287936 + // GIF writer is buggy for totally transparent gifs + + // workaround: draw a point! + image.createGraphics().drawRect(0, 0, 1, 1); + imageWriter.write(null, iioimage, params); + + } finally { // Close the streams Modified: trunk/openutils-mgnlmedia/src/test/java/net/sourceforge/openutils/mgnlmedia/media/utils/ImageUtilsTest.java =================================================================== --- trunk/openutils-mgnlmedia/src/test/java/net/sourceforge/openutils/mgnlmedia/media/utils/ImageUtilsTest.java 2009-12-30 21:42:59 UTC (rev 1565) +++ trunk/openutils-mgnlmedia/src/test/java/net/sourceforge/openutils/mgnlmedia/media/utils/ImageUtilsTest.java 2009-12-30 22:31:48 UTC (rev 1566) @@ -158,6 +158,8 @@ BufferedImage bufferedImage = ImageUtils.createBufferedImage(badpalette); Assert.assertNotNull(bufferedImage); + bufferedImage = ImageUtils.resizeImage(bufferedImage, 1, 1); + InputStream is = ImageUtils.getStream(bufferedImage, "gif", 0.8F, false); File tempFile = File.createTempFile("image", ".gif"); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |