From 19928ff5e8a1dbb083b12bb019d3cbf8bf964ac7 Mon Sep 17 00:00:00 2001 From: colymba Date: Sat, 19 Oct 2013 14:46:23 +0300 Subject: [PATCH] NEW GDBackend can save interlaced image Disabled by default use config GDBackend.image_interlace: 1 to enable --- filesystem/GD.php | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/filesystem/GD.php b/filesystem/GD.php index e4af07982..6788b2597 100644 --- a/filesystem/GD.php +++ b/filesystem/GD.php @@ -7,6 +7,7 @@ class GDBackend extends Object implements Image_Backend { protected $gd, $width, $height; protected $quality; + protected $interlace; /** * @config @@ -14,6 +15,12 @@ class GDBackend extends Object implements Image_Backend { */ private static $default_quality = 75; + /** + * @config + * @var integer + */ + private static $image_interlace = 0; + /** * Set the default image quality. * @@ -56,6 +63,7 @@ class GDBackend extends Object implements Image_Backend { parent::__construct(); $this->quality = $this->config()->default_quality; + $this->interlace = $this->config()->image_interlace; } public function setImageResource($resource) { @@ -455,6 +463,9 @@ class GDBackend extends Object implements Image_Backend { case "jpeg": case "jpg": case "jpe": $type = IMAGETYPE_JPEG; break; default: $type = IMAGETYPE_PNG; break; } + + // if $this->interlace != 0, the output image will be interlaced + imageinterlace ($this->gd, $this->interlace); // if the extension does not exist, the file will not be created!