From d5087a85e0576837a4da47d1cb5b2948e085bdc6 Mon Sep 17 00:00:00 2001 From: Jannes Behrens Date: Mon, 4 Nov 2024 12:31:27 +0100 Subject: [PATCH] Fix: Crop Order in HasMedia.php --- src/Crud/Models/Traits/HasMedia.php | 26 +++++++++++++++----------- 1 file changed, 15 insertions(+), 11 deletions(-) diff --git a/src/Crud/Models/Traits/HasMedia.php b/src/Crud/Models/Traits/HasMedia.php index 0cea314a..df9ca026 100644 --- a/src/Crud/Models/Traits/HasMedia.php +++ b/src/Crud/Models/Traits/HasMedia.php @@ -60,8 +60,12 @@ public function registerMediaConversions(SpatieMedia $media = null): void $this->applyCrop($this->addMediaConversion('preview'), $media); foreach ($possibleConversions[$this->conversionsKey] as $key => $value) { - $conversion = $this->addMediaConversion($key) - ->width($value[0]) + + $conversion = $this->addMediaConversion($key); + + $conversion = $this->applyCrop($conversion, $media); + + $conversion->width($value[0]) ->height($value[1]) ->sharpen($value[2]); @@ -71,7 +75,7 @@ public function registerMediaConversions(SpatieMedia $media = null): void $conversion->keepOriginalImageFormat(); } - $this->applyCrop($conversion, $media); + } } @@ -85,24 +89,24 @@ public function registerMediaConversions(SpatieMedia $media = null): void protected function applyCrop(Conversion $conversion, Media $media = null) { if (! $media) { - return; + return $conversion; } if (! $media->custom_properties) { - return; + return $conversion; } if (! array_key_exists('crop', $media->custom_properties)) { - return; + return $conversion; } $crop = $media->custom_properties['crop']; - $conversion->manualCrop( - $crop['width'], - $crop['height'], - $crop['x'], - $crop['y'] + return $conversion->manualCrop( + (int) $crop['width'], + (int) $crop['height'], + (int) $crop['x'], + (int) $crop['y'] ); } }