[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-bugs-dist
Subject:    [Bug 148621] Image rotation not working properly
From:       Marcel Wiesweg <marcel.wiesweg () gmx ! de>
Date:       2007-09-02 13:26:07
Message-ID: 20070902132607.25378.qmail () ktown ! kde ! org
[Download RAW message or body]

------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.
         
http://bugs.kde.org/show_bug.cgi?id=148621         
marcel.wiesweg gmx de changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |RESOLVED
         Resolution|                            |FIXED



------- Additional Comments From marcel.wiesweg gmx de  2007-09-02 15:26 -------
SVN commit 707626 by mwiesweg:

If the image had already an exif rotation flag set, this code part would cause
this taken into account twice, add the JPEG specific code does its own
sophisticated checking with matrix multiplication.

BUG: 148621


 M  +8 -0      actionthread.cpp  


--- branches/extragear/kde3/libs/kipi-plugins/jpeglossless/actionthread.cpp #707625:707626
 @ -77,6 +77,13  @
     {
         KIPI::ImageInfo info = m_interface->info( *it );
 
+        /*
+        Removing this code:
+         - for JPEGs, jpegtransform is using the Exiv2Iface and matrix multiplication
+           to compute the mathematically correct rotation (taking flip operations into account,
+           the code below only angles). Metadata tag is reset.
+         - For ImageMagick, no metadata is taken into account, and no metadata is changed!
+           Angle from host application still applies.
         // Don't use the host angle in case of auto-rotation (Rot0)
         if (val != Rot0)
         {
 @ -105,6 +112,7  @
             else
                 val = Rot0;
         }
+        */
 
         Task *t      = new Task;
         t->filePath  = QDeepCopy<QString>((*it).path()); //deep copy
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic