https://bugzilla.wikimedia.org/show_bug.cgi?id=31024

Brion Vibber <br...@wikimedia.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |ASSIGNED
         AssignedTo|wikibugs-l@lists.wikimedia. |br...@wikimedia.org
                   |org                         |

--- Comment #6 from Brion Vibber <br...@wikimedia.org> 2011-09-20 20:53:30 UTC 
---
Partway through fixing this; have updated the unit tests to check the reported
image size correctly again (regressed in r92246) and also to actually run some
thumbnail transformations and check the resulting sizes.

It looks like the prior code wasn't actually setting the image's reported
width/height to match the rotation, it was just fiddling things around later on
when you asked for thumbnails and such, then getting a bit confuzzled.

This explains the problem reported here:
* ImagePage asks for a thumbnail that fits in 800x600
* BitmapHandler ends up returning a MediaTransform specifying 600x800 (wrong
size limit, right aspect ratio)
* the delayed transform uses a URL for 600px-whatever
* that hits 404 handler turning into thumb.php?w=600
* BitmapHandler ends up returning a MediaTransform for 450x600 (wrong size
limit, right aspect ratio)
* the 450x600 image gets returned for the 600px file spot

Working on a fix to normalize how rotated images are handled along these lines:
* swap the width/height to fit the logical size in
ExifBitmapHandler::getImageSize, so it gets saved and used with logical size
* change the thumbnailing bits in BitmapHandler to handle the rotation by, if
necessary, swapping widths/heights back and forth in the work stuff

This should allow the various box-sizing code to avoid having to think about
rotation at all -- since it only cares about logical size -- and should also
make exif-rotated images transparent to remote API clients (eg InstantCommons /
RemoteApiRepo) -- they'll see the logical size, request the logical size, and
get back thumb URLs matching the logical size.

-- 
Configure bugmail: https://bugzilla.wikimedia.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
You are on the CC list for the bug.

_______________________________________________
Wikibugs-l mailing list
Wikibugs-l@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/wikibugs-l

Reply via email to