PHP Imagick отображает неправильные цвета с фильтром SVG feColorMatrix. Например, я беру синий квадрат и поворачиваю его оттенок на 1 градус. Браузер отобразит это правильно: http://codepen.io/anon/pen/BNwVWK -- У меня получился синий цвет.
Однако PHP неправильно отображает квадрат в фиолетовом цвете.
$svg = '<?xml version="1.0"?><svg version="1.1" width="100" height="100">
<defs>
<filter id="myf">
<feColorMatrix type="hueRotate" values="1" />
</filter>
</defs>
<rect filter="url(#myf)" width="100" height="100" style="fill:rgb(0,0,230);" />
</svg>';
$image = new Imagick();
$image->readImageBlob($svg);
$image->setImageFormat("jpeg");
header("Content-Type: image/jpeg");
echo $image->getImageBlob();
Я тестировал эту ошибку на разных конфигурациях с одинаковыми результатами:
1. WAMP, PHP 5.4.29, Imagic 3.3.0RC2, ImageMagick 6.8.9-1 Q16 x86, делегирование svg: RSVG 2.40.1
2. LAMP , ImageMagic (7.0, последний мастер) с собственным рендерингом svg (без делегирования svg).