forked from leftypol/leftypol
Exif.php: add helper query functions
This commit is contained in:
parent
e47623cdf6
commit
1a82462d0a
1 changed files with 36 additions and 0 deletions
|
@ -21,4 +21,40 @@ class Exif {
|
|||
public static function exifOrientationOnSide(int $exif_orientation): bool {
|
||||
return $exif_orientation >= 5 && $exif_orientation <= 8;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gives the rotation in degrees of the given exif orientation.
|
||||
*
|
||||
* @param int $exif_orientation One of the EXIF_ORIENTATION_* constants.
|
||||
* @return int Rotation in degrees.
|
||||
*/
|
||||
public static function exifOrientationDegrees(int $exif_orientation): int {
|
||||
switch ($exif_orientation) {
|
||||
case self::EXIF_ORIENTATION_UNDEFINED:
|
||||
case self::EXIF_ORIENTATION_0_UPRIGHT:
|
||||
case self::EXIF_ORIENTATION_0_FLIPPED:
|
||||
return 0;
|
||||
case self::EXIF_ORIENTATION_180_UPRIGHT:
|
||||
case self::EXIF_ORIENTATION_180_FLIPPED:
|
||||
return 180;
|
||||
case self::EXIF_ORIENTATION_90_UPRIGHT:
|
||||
case self::EXIF_ORIENTATION_90_FLIPPED:
|
||||
return 90;
|
||||
case self::EXIF_ORIENTATION_270_UPRIGHT:
|
||||
case self::EXIF_ORIENTATION_270_FLIPPED:
|
||||
return 270;
|
||||
default:
|
||||
throw new \RuntimeException("Invalid exif orientation '$exif_orientation'");
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* If the given exif orientation flips the image.
|
||||
*
|
||||
* @param int $exif_orientation One of the EXIF_ORIENTATION_* constants.
|
||||
* @return bool If the image is flipped.
|
||||
*/
|
||||
public static function exifOrientationIsFlipped(int $exif_orientation): bool {
|
||||
return $exif_orientation % 2 == 0;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue