summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCôme Chilliet <91878298+come-nc@users.noreply.github.com>2022-11-03 16:11:03 +0100
committerGitHub <noreply@github.com>2022-11-03 16:11:03 +0100
commit2e83a21cd2b2d2a167f3368e087a11ac95e127a3 (patch)
tree0684759be109fdc051ea5f788915d0d1445db37c
parent3b084e5fbcab6fea00685a81922635ec1428e8aa (diff)
parent48917e718e55bc4e72d2b5f928e68049c35652e5 (diff)
downloadnextcloud-server-2e83a21cd2b2d2a167f3368e087a11ac95e127a3.tar.gz
nextcloud-server-2e83a21cd2b2d2a167f3368e087a11ac95e127a3.zip
Merge pull request #34678 from pulsejet/patch-jpeg
Interlace all output JPEG
-rw-r--r--lib/private/legacy/OC_Image.php4
-rw-r--r--tests/lib/ImageTest.php2
2 files changed, 6 insertions, 0 deletions
diff --git a/lib/private/legacy/OC_Image.php b/lib/private/legacy/OC_Image.php
index a212d639084..45584b7209a 100644
--- a/lib/private/legacy/OC_Image.php
+++ b/lib/private/legacy/OC_Image.php
@@ -290,6 +290,8 @@ class OC_Image implements \OCP\IImage {
$retVal = imagegif($this->resource, $filePath);
break;
case IMAGETYPE_JPEG:
+ /** @psalm-suppress InvalidScalarArgument */
+ imageinterlace($this->resource, (PHP_VERSION_ID >= 80000 ? true : 1));
$retVal = imagejpeg($this->resource, $filePath, $this->getJpegQuality());
break;
case IMAGETYPE_PNG:
@@ -379,6 +381,8 @@ class OC_Image implements \OCP\IImage {
$res = imagepng($this->resource);
break;
case "image/jpeg":
+ /** @psalm-suppress InvalidScalarArgument */
+ imageinterlace($this->resource, (PHP_VERSION_ID >= 80000 ? true : 1));
$quality = $this->getJpegQuality();
if ($quality !== null) {
$res = imagejpeg($this->resource, null, $quality);
diff --git a/tests/lib/ImageTest.php b/tests/lib/ImageTest.php
index e6818c7e243..c843d5f5eb9 100644
--- a/tests/lib/ImageTest.php
+++ b/tests/lib/ImageTest.php
@@ -149,6 +149,8 @@ class ImageTest extends \Test\TestCase {
$img = new \OC_Image(null, null, $config);
$img->loadFromFile(OC::$SERVERROOT.'/tests/data/testimage.jpg');
$raw = imagecreatefromstring(file_get_contents(OC::$SERVERROOT.'/tests/data/testimage.jpg'));
+ /** @psalm-suppress InvalidScalarArgument */
+ imageinterlace($raw, (PHP_VERSION_ID >= 80000 ? true : 1));
ob_start();
imagejpeg($raw);
$expected = ob_get_clean();