Я работаю над (что должно быть) простым сценарием, который добавит текст к изображению. Пройдя несколько раз по сценарию в поисках ошибок, я, наконец, решил попробовать запустить пример с php.net и столкнулся с той же неописуемой ошибкой: «Не удалось запросить метрику шрифта». Вот код:
/* Text to write */
$text = "Hello World!";
/* Create Imagick objects */
$image = new Imagick();
$draw = new ImagickDraw();
$color = new ImagickPixel('#000000');
$background = new ImagickPixel('none'); // Transparent
/* Font properties */
$draw->setFont('Arial');
$draw->setFontSize(50);
$draw->setFillColor($color);
$draw->setStrokeAntialias(true);
$draw->setTextAntialias(true);
/* Get font metrics */
$metrics = $image->queryFontMetrics($draw, $text);
/* Create text */
$draw->annotation(0, $metrics['ascender'], $text);
/* Create image */
$image->newImage($metrics['textWidth'], $metrics['textHeight'], $background);
$image->setImageFormat('png');
$image->drawImage($draw);
/* Save image */
file_put_contents('/tmp/file.png', $image);
Не могу за всю жизнь найти какую-либо информацию через гугл об этой ошибке. Также я не могу найти адекватную документацию по этому методу или потенциальным причинам отказа. По сути, я в тупике. Если бы кто-нибудь мог предоставить понимание или исправить это, мы будем очень признательны.
Версия ImageMagic: ImageMagick 6.6.5-10 2011-04-06 Q16
Версия модуля Imagick: 3.1.0b1