public function __construct()
{
$extension = mb_strtolower(craft()->config->get('imageDriver'));
if ($extension === 'gd') {
// set in config
$this->imageDriver = 'gd';
} else {
if ($extension === 'imagick') {
$this->imageDriver = 'imagick';
} else {
// autodetect
if (craft()->images->isGd()) {
$this->imageDriver = 'gd';
} else {
$this->imageDriver = 'imagick';
}
}
}
$this->imagineInstance = $this->_createImagineInstance();
if ($this->imageDriver == 'imagick') {
ImagerService::$compositeKeyTranslate['blend'] = \imagick::COMPOSITE_BLEND;
ImagerService::$compositeKeyTranslate['darken'] = \imagick::COMPOSITE_DARKEN;
ImagerService::$compositeKeyTranslate['lighten'] = \imagick::COMPOSITE_LIGHTEN;
ImagerService::$compositeKeyTranslate['modulate'] = \imagick::COMPOSITE_MODULATE;
ImagerService::$compositeKeyTranslate['multiply'] = \imagick::COMPOSITE_MULTIPLY;
ImagerService::$compositeKeyTranslate['overlay'] = \imagick::COMPOSITE_OVERLAY;
ImagerService::$compositeKeyTranslate['screen'] = \imagick::COMPOSITE_SCREEN;
ImagerService::$ditherKeyTranslate['no'] = \Imagick::DITHERMETHOD_NO;
ImagerService::$ditherKeyTranslate['riemersma'] = \Imagick::DITHERMETHOD_RIEMERSMA;
ImagerService::$ditherKeyTranslate['floydsteinberg'] = \Imagick::DITHERMETHOD_FLOYDSTEINBERG;
}
}