GNOME Bugzilla – Bug 92193
PNG Save should offer to convert
Last modified: 2004-03-08 09:58:02 UTC
The PNG save screen should give the option to convert to indexed, or perhaps even make it the default to encourage using PNG as a GIF replacement. Background: a couple of days ago on the GUG list: someone said "I'd like to use PNG instead of GIF for my web site, but every time I save a PNG it comes out huge so I end up using GIF instead." In the ensuring discussion we learned that PNG by default isn't indexed: if you want to make a small GIF-replacing indexed PNG, you have to convert it first using Image->Mode->Indexed before doing Save As. I hadn't known that either, and am now happily using PNG for web images where I couldn't before. It would be great if this was more discoverable. Would anyone be interested if I made a patch for this? I guess it would have to be for 1.3 because 1.2's UI is frozen, right?
Right, 1.2 is UI-frozen but I don't think we want this in 1.3 neither. The GIMP is not about teaching users how to do image manipulation. Adding such an option would only clutter the UI. It's possible to save indexed PNGs, it's not hidden and thus I don't see any reason for changes. I propose to close this report as WONTFIX.
Agreed. WONTFIX. However, we could think about a much more ambitious plan to guide users who want to save images for the web: there could be some wizards with multiple previews comparing different formats and different quality settings. If someone can come up with a good and coherent proposal for that, then it should be submitted in a new report (and it should not simply be a copy of some other commercial program). But I doubt that such a complex thing would be part of 1.3 anyway. Maybe 2.x.
How about just adding a toggle box (a la PSP) with "Save for web" which would index the image with a 256 colour palette & set the compression level to 9?Simple, easy to implement, and it's copying something already in existence.
Doing this correctly would take much more than a simple checkbox, that's why I have suggested that whoever has a good and coherent proposal should create a new bug report containing all the details. For the PNG format, the indexed mode is not always the best solution, especially if the user knows what he is doing. Instead of choosing settings for the user and hiding them behind a single button, it would be much better if the user would be guided through the settings and be told the pros and cons of each format. And if the option is called "save for the web", then it should also mention the browser bugs to the user. For example, the PNG background chunk should never be saved if the web site wants to support Netscape 4.x (otherwise all black pixels in the image become white). Also, it should mention that many browsers do not support the PNG transparency correctly and guide the user through several possible workarounds. And in all cases, there should be some previews available because the main problem is usually to choose a correct size/quality ratio. So even if the PNG image is converted to indexed mode, there should be a slider or a dialog box allowing the user to modify the size of the color palette and to see how this affects the image. If you want a quick and dirty solution for 1.3.x, then maybe we could add a warning message that is displayed at the bottom of the PNG save dialog, saying something like: "Warning: you are saving a full-color PNG image. You could get a smaller file size by converting the image to indexed mode first." This would be a bit like the optional warning that is displayed at the bottom of the indexed conversion dialog when the image has an alpha channel. I prefer to tell the user what can be done (and how) instead of adding a button that does some magic (sometimes good, sometimes bad) without giving the opportunity to customize how it is done.
Has Raphael's enhancement request been awarded it's own bug report? If so, could that be linked from here?
For cross-references: the "save for web" feature is described in bug #98017. Alan Horkan attached some interesting screenshots showing how this feature is implemented in other programs.