If your imagick lib begins to say: "Non-conforming drawing primitive...", it could be that your locale are not correctly set. please locate all your setlocale and kill them temporary so you could check it that would solve the problem.
(PECL imagick 2, PECL imagick 3)
Imagick::drawImage — Renderiza el objeto ImagickDraw a la imagen actual
Renderiza el objeto ImagickDraw a la imagen actual.
draw
Las operaciones de dibujo para renderizar a la imagen.
Devuelve true
en caso de éxito.
If your imagick lib begins to say: "Non-conforming drawing primitive...", it could be that your locale are not correctly set. please locate all your setlocale and kill them temporary so you could check it that would solve the problem.
the ImagickDraw (v 2.2.0) seems to disharmonise with PHP-GTK2 (v 2.0.1).
The rendering of an ImagickDraw object on the current image fails (resp. results in a flat image without drawings), if php_gtk2.so is loaded.
Code to reproduce the failure:
#!/usr/bin/php5
<?php
dl("php_gtk2.so"); // comment this for a second try
$string = "Hello world!";
$im = new Imagick();
$draw = new ImagickDraw();
$draw->setFillColor(new ImagickPixel('blue'));
$draw->setFontSize(28);
$metrix = $im->queryFontMetrics($draw, $string);
$draw->annotation(0,25,$string);
$im->newImage($metrix['textWidth'],$metrix['textHeight'], new ImagickPixel('white'));
$im->drawImage($draw);
$im->borderImage(new ImagickPixel('black'), 1, 1);
$im->setImageFormat('png');
$im->writeImage("./test.png");
?>