OrientateCommand.php 959 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. <?php
  2. namespace Intervention\Image\Commands;
  3. class OrientateCommand extends AbstractCommand
  4. {
  5. /**
  6. * Correct image orientation according to Exif data
  7. *
  8. * @param \Intervention\Image\Image $image
  9. * @return boolean
  10. */
  11. public function execute($image)
  12. {
  13. switch ($image->exif('Orientation')) {
  14. case 2:
  15. $image->flip();
  16. break;
  17. case 3:
  18. $image->rotate(180);
  19. break;
  20. case 4:
  21. $image->rotate(180)->flip();
  22. break;
  23. case 5:
  24. $image->rotate(270)->flip();
  25. break;
  26. case 6:
  27. $image->rotate(270);
  28. break;
  29. case 7:
  30. $image->rotate(90)->flip();
  31. break;
  32. case 8:
  33. $image->rotate(90);
  34. break;
  35. }
  36. return true;
  37. }
  38. }