> On Thu, 30 Aug 2007 11:07:40 +0200, Raphaël Quinet <raphael at gimp.org> > wrote:
> On Thu, 30 Aug 2007 00:57:44 +0200, gg at catking.net wrote: >> Gimp should not decide what is "better" because it cannot know what is >> required so cannot make that choice. >> >> This sort of "surprise" behaviour is precisely the kind of thing I was >> warning against in making covert changes to user data. > > I think that you are trying to shoot the wrong target. The main > problem that I described in my previous message is not the fact that > GIMP tries to preserve the quality of the original image or decide > what is "better". The problem is that some changes that you make when > saving one file are propagated to all other files that you save later. > The recent updates to the JPEG plug-in make this problem more obvious, > but it also affects all other file plug-ins. > > Before jumping to conclusions about where the problem comes from, please > try the following exercise: > - Load or create a GIF animation (2-3 layers should be enough). > - Save it as A.gif and let's pretend that you don't like the speed at > which that animation runs so you set the delay to 333ms and check > the box "Use delay entered above for all frames". > - Close that image. > - Open or create a new, totally unrelated GIF animation. > - Save that image as B.gif. Although you probably wanted to keep its > settings or at least save it with the default values, you see that > "Use delay entered above for all frames" is now checked. The > settings from an unrelated image that is now closed are used for > saving your new image. If you do not want to destroy the timing of > your animation, you have to pay attention and uncheck that box > before you save the file. > > Does it make sense that two unrelated images influence each other? > > But things are even more confusing if you keep some images open. Try > the following exercise, with PNG this time: > - Load or create a new image. > - Save it as A.png but set its compression level to 0 because you want > to waste some disk space and disable all other options because you > do not want to save the image comment, creation date, etc. > - Keep A.png open and load or create another image. > - Save the second image as B.png. Although you probably wanted to use > your default settings (which can be customized with the buttons > "Load/Save defaults"), you see that the same parameters as A.png are > now used when saving this image. You do not like this, so you set > the compression level back to 9 (you can also check or uncheck some > of the other boxes) and save the image. > - With both A.png and B.png still open, load or create a third image. > - Save that image as C.png. Now you see that C.png inherited the > settings from B.png, the last image that was saved. > - Make some small changes to A.png and save it again using a new name > such as D.png. By now, maybe you expect that saving D.png would use > the same settings as C.png, the last image that was saved? But no, > this time you see that D.png keeps the settigns from A.png because > it was still open. > - Now if you make some changes to B.png and give it a new name E.png, > then that file will use the settings from B.png. But if you had > closed and re-opened B.png, then you would see that E.png is saved > with the parameters from D.png, not B.png. Are you confused yet? > > If you work on two files in parallel (A.png and B.png) and save them > alternatively as your work progresses, then any new file that you open > and save will inherit the settings from A.png or B.png, depending on > which one was saved last. > > And if you are still convinced that all of this makes sense, try to > play with some settings that are enabled or disabled depending on the > contents of the original image. For example, if the original PNG > image has transparency (alpha channel), then you will be able to check > or uncheck the box "Save color values from transparent pixels". This > setting may be propagated to other PNG images that also have an alpha > channel. But if you load a PNG image without alpha channel, then this > option will not be available. After saving that last file, can you > correctly guess if that box will be automatically checked or not when > you load another PNG image with transparency and then try to save it? > > I consider the current situation to be broken for all file plug-ins. > Instead of re-using the settings from whatever image was saved > recently, each image should keep its own settings and should not be > influenced by what you do with the other images. The save settings > should come from the original image or from the user defaults if the > image has never been saved yet. It should of course be possible for > the user to customize these defaults (currently, this can only be done > for JPEG and PNG, but the old bug #63610 is about extending this to > other plug-ins). > > I hope that you are convinced that something is wrong with the > behavior of the file plug-ins. > > Now, regarding the JPEG plug-in, I see two ways forward: > > 1) Do not re-use the values from previous (unrelated) invocations of > the plug-in. This ensures that each file keeps its own settings, > as described above. The same fix can also be applied to the PNG > plug-in because it uses similar parasites for saving image settings > and it also has the "Load/Save defaults" buttons. But other > plug-ins will still have the wrong behavior because it is too late > to fix all of them before 2.4. > > 2) Instead of trying to fix the plug-ins for 2.4, make sure that they > are all broken in the same way. This would mean that the JPEG > plug-in in 2.4 will not try to use the quality settings from the > original image even if they are better than the defaults. We would > go back to the previous behavior and postpone the real fix > explained above until the next development cycle. Those who > complained that GIMP was "destroying" their images by saving them > at a lower quality than expected will just have to wait for 2.6. > > I don't care about which way we go. Both of them have good and bad > sides and both of them will leave some users frustrated or confused. > > -Raphaël > _________________ May be we need switch (radio or combo): - Use default settings - Use previous settings - Use settings from the original image _______________________________________________ Gimp-developer mailing list Gimp-developer@lists.XCF.Berkeley.EDU https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer