public function autoOrient()
{
if (!Arr::key('Orientation', $this->_exif)) {
return $this;
}
$orient = (int) $this->_exif['Orientation'];
if ($orient === 2) {
// Flip horizontal
$this->addFilter('flip', 'x');
} elseif ($orient === 3) {
// Rotate 180 counterclockwise
$this->addFilter('rotate', -180);
} elseif ($orient === 4) {
// Vertical flip
$this->addFilter('flip', 'y');
} elseif ($orient === 5) {
// Rotate 90 clockwise and flip vertically
$this->addFilter('flip', 'y');
$this->addFilter('rotate', 90);
} elseif ($orient === 6) {
// Rotate 90 clockwise
$this->addFilter('rotate', 90);
} elseif ($orient === 7) {
// Rotate 90 clockwise and flip horizontally
$this->addFilter('flip', 'x');
$this->addFilter('rotate', 90);
} elseif ($orient === 8) {
// Rotate 90 counterclockwise
$this->addFilter('rotate', -90);
}
return $this;
}