From 5131a551e96c6495c3b01ee5e728e211bb994d39 Mon Sep 17 00:00:00 2001 From: Craig Bartlett Date: Wed, 26 Oct 2022 11:08:01 +0100 Subject: [PATCH] magento/magento2#35535: Magento 2.4.4 Mini cart item images not showing - Cast resized image dimensions from floats to integers for GD and ImageMagick as imagecopy expects ints --- lib/internal/Magento/Framework/Image/Adapter/Gd2.php | 4 ++-- lib/internal/Magento/Framework/Image/Adapter/ImageMagick.php | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/internal/Magento/Framework/Image/Adapter/Gd2.php b/lib/internal/Magento/Framework/Image/Adapter/Gd2.php index 442418ecb17fa..037a2eb56d6c1 100644 --- a/lib/internal/Magento/Framework/Image/Adapter/Gd2.php +++ b/lib/internal/Magento/Framework/Image/Adapter/Gd2.php @@ -538,8 +538,8 @@ private function createWatermarkBasedOnPosition( } elseif ($this->getWatermarkPosition() == self::POSITION_STRETCH) { $watermark = $this->createWaterMark($watermark, $this->_imageSrcWidth, $this->_imageSrcHeight); } elseif ($this->getWatermarkPosition() == self::POSITION_CENTER) { - $positionX = $this->_imageSrcWidth / 2 - imagesx($watermark) / 2; - $positionY = $this->_imageSrcHeight / 2 - imagesy($watermark) / 2; + $positionX = (int) ($this->_imageSrcWidth / 2 - imagesx($watermark) / 2); + $positionY = (int) ($this->_imageSrcHeight / 2 - imagesy($watermark) / 2); $this->imagecopymergeWithAlphaFix( $this->_imageHandler, $watermark, diff --git a/lib/internal/Magento/Framework/Image/Adapter/ImageMagick.php b/lib/internal/Magento/Framework/Image/Adapter/ImageMagick.php index d67fe7799db22..d0b88a34c09d8 100644 --- a/lib/internal/Magento/Framework/Image/Adapter/ImageMagick.php +++ b/lib/internal/Magento/Framework/Image/Adapter/ImageMagick.php @@ -334,8 +334,8 @@ public function watermark($imagePath, $positionX = 0, $positionY = 0, $opacity = $watermark->sampleImage($this->_imageSrcWidth, $this->_imageSrcHeight); break; case self::POSITION_CENTER: - $positionX = ($this->_imageSrcWidth - $watermark->getImageWidth()) / 2; - $positionY = ($this->_imageSrcHeight - $watermark->getImageHeight()) / 2; + $positionX = (int) (($this->_imageSrcWidth - $watermark->getImageWidth()) / 2); + $positionY = (int) (($this->_imageSrcHeight - $watermark->getImageHeight()) / 2); break; case self::POSITION_TOP_RIGHT: $positionX = $this->_imageSrcWidth - $watermark->getImageWidth();