On Wed, 7 Nov 2007 04:03:51 +0000, Karl Günter Wünsch <[EMAIL PROTECTED]> wrote:
> So you suggest that the GIMP is changing the orientation tag when it is 
> loading the image.

This is mandatory according to the EXIF specification.  A program that
supports EXIF and wants to display the image correctly must load the
image according to the orientation specified in the EXIF Orientation tag
(this may involve rotation and/or mirroring) and must then clear the tag
to indicate that pixel data is now having the same orientation as the
image that it represents.

Section 7.4 "Application Software Guidelines" of the EXIF specification
explains that several tags must be updated by any software that saves an
image containing EXIF information: "Orientation" must be set to 1 (the
default top-left orientation) after rotating or mirroring the pixel data
as appropriate, "Software" must be set to the name of the program that
saves the image, "DateTime" must be set to the current date and time,
"YCbCrPositioning" must be set according to how the data is saved, etc.
If the resolution of the image has changed, then tags like "XResolution",
"YResolution" and "ResolutionUnit" may also have to be updated.

> What then happens if later I decide to rotate the image 
> again manually? If you want to go there, you are opening up a whole new set 
> of possible scenarios which will end up confusing users and other programs.

This is not confusing at all.  This is how all programs should behave.
If the Orientation tag is set to any value other than 1 (top-left), then
it means that the pixel data is not in the same orientation as the image
that it represents, and any EXIF-compatible software that loads the image
must rotate it.

To simplify things a bit, the Orientation tag is just a way for a camera
to say: "hey, I'm a camera with limited memory buffers and I could not
save the pixel data correctly, so please rotate the pixel data as
appropriate when you load it so that you can display the image as

> I always understood the question so that I either want to ignore the rotation 
> flag or not but that the EXIF would stay untouched, no matter what I decide 
> there... 

No, that's wrong.  And that's one of the reasons why I want to remove
this confusing question.  The EXIF standard defines precisely the list of
tags that must be updated and the list of tags that must be copied
unchanged.  Unfortunately, older GIMP versions were violating that
standard by copying the whole EXIF block unmodified and this caused many
problems, including images having the wrong orientation.

> EXIF in an edited image has little resemblance with the original anyway, so I 
> would suggest stripping that except for the IPTC tags. I would also be happy 
> if the IPTC tags were settable in the GIMP, instead of having to resort to 
> other programs.

IPTC tags are not part of EXIF.  They are a different set of tags that
are stored in another JPEG APP marker.  The ability to edit and save them
may be included in GIMP 2.6.

Gimp-developer mailing list

Reply via email to