diff --git a/src/Munee/Asset/Filter/Image/Resize.php b/src/Munee/Asset/Filter/Image/Resize.php index 1ef2ed7..899a705 100644 --- a/src/Munee/Asset/Filter/Image/Resize.php +++ b/src/Munee/Asset/Filter/Image/Resize.php @@ -10,7 +10,6 @@ use Munee\Asset\Filter; use Munee\ErrorException; -use Imagine\Gd\Imagine; use Imagine\Image\ImageInterface; use Imagine\Image\Box; use Imagine\Image\Color; @@ -99,8 +98,19 @@ public function doFilter($originalImage, $arguments, $imageOptions) if (empty($arguments['height']) && empty($arguments['width'])) { throw new ErrorException('You must set at least the height (h) or the width (w)'); } - - $Imagine = new Imagine(); + switch (strtolower($imageOptions['imageProcessor'])) { + case 'gd': + $Imagine = new \Imagine\Gd\Imagine(); + break; + case 'imagick': + $Imagine = new \Imagine\Imagick\Imagine(); + break; + case 'gmagick': + $Imagine = new \Imagine\Gmagick\Imagine(); + break; + default: + throw new ErrorException('Unsupported imageProcessor config value: ' . $imageOptions['imageProcessor']); + } $image = $Imagine->open($originalImage); $size = $image->getSize(); diff --git a/src/Munee/Asset/Type/Image.php b/src/Munee/Asset/Type/Image.php index e7313b3..1f1e8a6 100644 --- a/src/Munee/Asset/Type/Image.php +++ b/src/Munee/Asset/Type/Image.php @@ -32,7 +32,8 @@ class Image extends Type // Use a placeholder for missing images? 'placeholders' => false, 'maxAllowedResizeWidth' => 1920, - 'maxAllowedResizeHeight' => 1080 + 'maxAllowedResizeHeight' => 1080, + 'imageProcessor' => "GD" ); protected $_placeholder = false;