From 422e20569b1a84f5b1845474abed630e39daa3cf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julius=20H=C3=A4rtl?= Date: Tue, 2 Jan 2018 11:58:05 +0100 Subject: [PATCH] Theming: adjust background image resizing MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Support high resolution login images by resizing only images that are wider than 4096px fixes #7459 Signed-off-by: Julius Härtl --- apps/theming/lib/Controller/ThemingController.php | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/apps/theming/lib/Controller/ThemingController.php b/apps/theming/lib/Controller/ThemingController.php index 6592eb7f7a..f27841c004 100644 --- a/apps/theming/lib/Controller/ThemingController.php +++ b/apps/theming/lib/Controller/ThemingController.php @@ -288,12 +288,10 @@ class ThemingController extends Controller { // Optimize the image since some people may upload images that will be // either to big or are not progressive rendering. $tmpFile = $this->tempManager->getTemporaryFile(); - if (function_exists('imagescale')) { - // FIXME: Once PHP 5.5.0 is a requirement the above check can be removed - // Workaround for https://bugs.php.net/bug.php?id=65171 - $newHeight = imagesy($image) / (imagesx($image) / 1920); - $image = imagescale($image, 1920, $newHeight); - } + $newWidth = imagesx($image) < 4096 ? imagesx($image) : 4096; + $newHeight = imagesy($image) / (imagesx($image) / $newWidth); + $image = imagescale($image, $newWidth, $newHeight); + imageinterlace($image, 1); imagejpeg($image, $tmpFile, 75); imagedestroy($image);