No reply on this, so I've just created issue 5651 so it doesn't get lost. It would be nice if the GWT compiler could produce png image bundles in compressed format.

Background: The png file format has support for the deflate algorithm built-in, but png files don't *have* to use it. So some png files will contain compressed data, while others will not. GWT with an out-of-the-box JDK do not generate compressed png files.

http://code.google.com/p/google-web-toolkit/issues/detail?id=5651

Thanks,
Paul

On 03/11/10 00:13, Paul Robinson wrote:
I've just started using this colour picker:
http://code.google.com/p/auroris/wiki/ColorPicker

One of the warnings its documentation provides is that when you compile it with GWT, the images it contains are compiled into a png file that is about 1MB. Whereas, if you then open that file in any image processing software and re-save it, it compresses down to around 110kb.

The problem is that during the compile, GWT's ImageBundleBuilder uses javax.imageio.Imageio.write(BufferedImage, "png", outputStream), and with an out-of-the-box JDK installation, the javax.imageio.Imageio stuff does not support png compression. (png has support for the deflate algorithm built-in, but it seems you don't *have* to use it when writing out png files)

However, by installing an additional package to add to my JDK, I managed to get a gwt compile to produce compressed png files:
http://download.java.net/media/jai-imageio/builds/release/1.1/INSTALL-jai_imageio.html#Manual

Some of my small png files got slightly bigger, but that 1MB png got much smaller.

This is a known bug in the JDK, and there's a bug report here:
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4829970

but that's a very old bug report, so may not be fixed any time soon.

Is this something that GWT could address, so that this would work correctly out-of-the-box?

Thanks,
Paul

--
http://groups.google.com/group/Google-Web-Toolkit-Contributors

Reply via email to