diff --git a/typo3/sysext/core/Classes/Imaging/GraphicalFunctions.php b/typo3/sysext/core/Classes/Imaging/GraphicalFunctions.php index d7c4db4..d3621ce 100644 --- a/typo3/sysext/core/Classes/Imaging/GraphicalFunctions.php +++ b/typo3/sysext/core/Classes/Imaging/GraphicalFunctions.php @@ -2325,6 +2325,14 @@ */ public function getImageScale($info, $w, $h, $options) { + // Cropping may change the aspect ratio of the image. + // The image info is modified to represent the image size after cropping. + if (($options['crop'] ?? null) instanceof Area) { + /** @var Area $cropArea */ + $cropArea = $options['crop']; + $info[0] = round($cropArea->getWidth()); + $info[1] = round($cropArea->getHeight()); + } $out = []; $max = strpos($w . $h, 'm') !== false ? 1 : 0; if (strpos($w . $h, 'c') !== false) {