diff options
author | Julius Härtl <jus@bitgrid.net> | 2018-01-02 11:58:05 +0100 |
---|---|---|
committer | Julius Härtl <jus@bitgrid.net> | 2018-01-19 13:34:43 +0100 |
commit | 422e20569b1a84f5b1845474abed630e39daa3cf (patch) | |
tree | 3d4b11a3b7b03f316d9030394e0f4f4247e57e0c /apps/theming/lib | |
parent | fdd7a5325006d5ff023f04fab32627e08393f053 (diff) | |
download | nextcloud-server-422e20569b1a84f5b1845474abed630e39daa3cf.tar.gz nextcloud-server-422e20569b1a84f5b1845474abed630e39daa3cf.zip |
Theming: adjust background image resizing
Support high resolution login images by resizing only images that are wider than 4096px
fixes #7459
Signed-off-by: Julius Härtl <jus@bitgrid.net>
Diffstat (limited to 'apps/theming/lib')
-rw-r--r-- | apps/theming/lib/Controller/ThemingController.php | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/apps/theming/lib/Controller/ThemingController.php b/apps/theming/lib/Controller/ThemingController.php index 6592eb7f7ab..f27841c0042 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); |