Fix exif orientation for flipped images
fixes #13363 Links: * http://www.daveperrett.com/articles/2012/07/28/exif-orientation-handling-is-a-ghetto/ * Example data: https://github.com/recurser/exif-orientation-examples
This commit is contained in:
parent
aff22b3225
commit
a28d3b594b
|
@ -358,35 +358,42 @@ class OC_Image {
|
|||
$o = $this->getOrientation();
|
||||
$this->logger->debug('OC_Image->fixOrientation() Orientation: ' . $o, array('app' => 'core'));
|
||||
$rotate = 0;
|
||||
$flip = false;
|
||||
switch ($o) {
|
||||
case -1:
|
||||
return false; //Nothing to fix
|
||||
case 1:
|
||||
$rotate = 0;
|
||||
break;
|
||||
case 2: // Not tested
|
||||
case 2:
|
||||
$rotate = 0;
|
||||
$flip = true;
|
||||
break;
|
||||
case 3:
|
||||
$rotate = 180;
|
||||
break;
|
||||
case 4: // Not tested
|
||||
case 4:
|
||||
$rotate = 180;
|
||||
$flip = true;
|
||||
break;
|
||||
case 5: // Not tested
|
||||
case 5:
|
||||
$rotate = 90;
|
||||
$flip = true;
|
||||
break;
|
||||
case 6:
|
||||
//$rotate = 90;
|
||||
$rotate = 270;
|
||||
break;
|
||||
case 7: // Not tested
|
||||
case 7:
|
||||
$rotate = 270;
|
||||
$flip = true;
|
||||
break;
|
||||
case 8:
|
||||
$rotate = 90;
|
||||
break;
|
||||
}
|
||||
if($flip) {
|
||||
imageflip($this->resource, IMG_FLIP_HORIZONTAL);
|
||||
}
|
||||
if ($rotate) {
|
||||
$res = imagerotate($this->resource, $rotate, 0);
|
||||
if ($res) {
|
||||
|
|
Loading…
Reference in New Issue