> 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

Reply via email to