Re: [Gimp-developer] jpeg-exif development summary

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed,  5 Jan 2005 07:47:10 -0800, "William Skaggs" <weskaggs@xxxxxxxxxxxxxxxxxxx> wrote:
> Robert Krawitz wrote:
> > [William Skaggs wrote:]
> >   4) When the exif specifies that an image is rotated, the plug-in
> >      pops up a query asking the user whether to rotate it into
> >      standard alignment.  [...]
> > 
> > I'd suggest making this a preference.  If someone's careful about
> > maintaining their images (or hasn't edited them before), they'll get
> > very annoyed by having to answer this question every time they open an
> > EXIF file that's rotated.  Wouldn't earlier versions of the GIMP have
> > destroyed the EXIF data?
> 
> That would be a reasonable thing to do:  "Rotate images if exif says so?:
> _Always _Never _Ask each time."  But we have a high threshold nowadays
> for adding new preferences, so this is something that probably won't 
> happen until it's clear that a lot of people want it.

Thanks Bill for updating the code and adding a comment in bug #121810.
Although I am a bit late to the party, here are my 2 cents: I think
that the jpeg plug-in should automatically rotate the image when
opening it without marking it as "dirty".  The default setting should
be to do that automatically without asking, both for interactive and
non-interactive mode.  Let me try to explain why...

Many of the arguments posted here in the last two weeks imply that the
image is modified by rotating it.  This should not be the case: the
result of opening the file should show the image with the correct
orientation, which is exactly what is implied by the EXIF specs.

In fact, if the IJG JPEG library had been EXIF-aware, I bet that it
would have included an optional API to do that automatically and the
decompressor would have filled the output bitmap column-by-column
instead of line-by-line if necessary.  A program using that API would
not even have to be aware of how the blocks were arranged in the file.
This is similar to a program reading a BMP file without having to know
that the scanlines are stored from bottom to top instead of from top
to bottom.

While working on my metadata editor a few months ago, I tested several
EXIF-aware programs (image viewers or editors) and I asked others to
do the same and tell me how the metadata was presented, etc.  Although
this was not the main purpose of these tests, I saw that most (all?)
image viewers or editors supporting EXIF are opening the images with
the correct orientation.  Some of them offer the option to ignore the
rotation flag, but the default option is always to display the rotated
image.  I think that the GIMP should do the same and the default
option should be to use the correct orientation without asking.

So the JPEG plug-in should open the image and rotate it before giving
it to the GIMP (as if the underlying library was already doing it) so
that it is not marked dirty.  Of course there could also be the option
to ignore the rotation or to ask the user what to do for each image,
but this should not be the default (IMHO).  With this configuration,
the user can open an image and see it correctly.  The file on disk is
not modified until the user decides to save it (which could be in a
different file format).

For a while, I thought that another solution would be to provide a
rotated view of the canvas when displaying the image (as suggested in
bug #55367 for a different purpose) but that would not really help if
the image is then saved to another file format.

I also have a separate improvement proposal related to how the "dirty"
flag could be set on the image.  See my next message...

-Raphaël

[Index of Archives]     [Video For Linux]     [Photo]     [Yosemite News]     [gtk]     [GIMP for Windows]     [KDE]     [GEGL]     [Gimp's Home]     [Gimp on GUI]     [Gimp on Windows]     [Steve's Art]

  Powered by Linux