From 0b327cb4d9c92d0ae227a0f08ede3b29390df172 Mon Sep 17 00:00:00 2001 From: Yassine Doghri Date: Sun, 2 Jul 2023 09:42:54 +0000 Subject: [PATCH] fix: set resized images to 72dpi for compatibility with Apple Podcasts fixes #282 --- modules/Media/Entities/Image.php | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/modules/Media/Entities/Image.php b/modules/Media/Entities/Image.php index 123cc203..aae0fd19 100644 --- a/modules/Media/Entities/Image.php +++ b/modules/Media/Entities/Image.php @@ -136,10 +136,17 @@ class Image extends BaseMedia foreach ($this->sizes as $name => $size) { $tempFilePath = tempnam(WRITEPATH . 'temp', 'img_'); - $imageService + $resizedImage = $imageService ->withFile($this->attributes['file']->getRealPath()) - ->resize($size['width'], $size['height']) - ->save($tempFilePath); + ->resize($size['width'], $size['height']); + + $resizedImageResource = $resizedImage->getResource(); + + // set resolution to 72 by 72 for all sizes + // Apple Podcasts requires images to be 72 dpi + imageresolution($resizedImageResource, 72, 72); + + $resizedImage->save($tempFilePath); $newImage = new File($tempFilePath, true);