Media: Reset Exif orientation after rotate in WP_Image_Editor_Imagick.

Due to inconsistencies in the way browsers handle Exif orientation data,
if a user manually rotates an image within WordPress, set the Exif orientation to
the default (1) so that the image displays with the same rotation/flip in every browser.

Props sanchothefat, triplejumper12, joemcgill, azaozz, markoheijnen, mikeschroder.
See #14459.
Fixes #37140.
Built from https://develop.svn.wordpress.org/trunk@40123


git-svn-id: http://core.svn.wordpress.org/trunk@40060 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
Mike Schroder 2017-02-25 05:26:41 +00:00
parent 0c005fdb0e
commit 454acad22e
2 changed files with 4 additions and 1 deletions

View File

@ -549,6 +549,9 @@ class WP_Image_Editor_Imagick extends WP_Image_Editor {
try {
$this->image->rotateImage( new ImagickPixel('none'), 360-$angle );
// Normalise Exif orientation data so that display is consistent across devices.
$this->image->setImageOrientation( Imagick::ORIENTATION_TOPLEFT );
// Since this changes the dimensions of the image, update the size.
$result = $this->update_size();
if ( is_wp_error( $result ) )

View File

@ -4,7 +4,7 @@
*
* @global string $wp_version
*/
$wp_version = '4.8-alpha-40122';
$wp_version = '4.8-alpha-40123';
/**
* Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.