Skip to content

Commit

Permalink
Merge pull request #150 from beabee-communityrm/feat/jpeg-orientation
Browse files Browse the repository at this point in the history
Add JPEG EXIF orientation rotation
  • Loading branch information
geek-at committed Aug 24, 2023
2 parents 8c2702b + 7b4b270 commit 70cdcf5
Show file tree
Hide file tree
Showing 2 changed files with 37 additions and 2 deletions.
37 changes: 36 additions & 1 deletion content-controllers/image/image.controller.php
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,43 @@ public function handleUpload($tmpfile,$hash=false)
case 17: $ext = 'ico';break; // ico
case 18: $ext = 'webp';break; // webp

case 2: //we clean up exif data of JPGs so GPS and other data is removed
case 2:
//we clean up exif data of JPGs so GPS and other data is removed
$res = imagecreatefromjpeg($tmpfile);

// rotate based on EXIF Orientation
$exif = exif_read_data($tmpfile);
if (!empty($exif['Orientation'])) {
switch ($exif['Orientation']) {
case 2:
imageflip($res, IMG_FLIP_HORIZONTAL);
case 1:
// Nothing to do
break;

case 4:
imageflip($res, IMG_FLIP_HORIZONTAL);
// Also rotate
case 3:
$res = imagerotate($res, 180, 0);
break;

case 5:
imageflip($res, IMG_FLIP_VERTICAL);
// Also rotate
case 6:
$res = imagerotate($res, -90, 0);
break;

case 7:
imageflip($res, IMG_FLIP_VERTICAL);
// Also rotate
case 8:
$res = imagerotate($res, 90, 0);
break;
}
}

imagejpeg($res, $tmpfile, (defined('JPEG_COMPRESSION')?JPEG_COMPRESSION:90));
$ext = 'jpg';
break;
Expand Down
2 changes: 1 addition & 1 deletion rtfm/DOCKER.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ docker run -d -p 80:80 -e "TITLE=My own PictShare" -e "URL=http://localhost/" gh

### Building it
```bash
docker build -t pictshare .
docker build -t pictshare -f docker/Dockerfile .
```

### Quick start
Expand Down

0 comments on commit 70cdcf5

Please sign in to comment.