PHP imagick annotete setFont превышает максимальное время выполнения - PullRequest
0 голосов
/ 08 декабря 2010

Я пытаюсь написать текст к изображению, используя php imagick.На моем сервере он работает нормально, но у меня проблема с запуском на моем macbook.

код:

/* 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 */
header("Content-type: image/png");
echo $image;

Когда я запускаю это на моем macbook, процессор застревает на100%, и процесс останавливается через 30 секунд с сообщением: Максимальное время выполнения 30 секунд превышено в ..... в строке 13, то есть с $ draw-> setFont ();

Спасибо за ваши ответы ...

1 Ответ

0 голосов
/ 08 декабря 2010

Предположим: Arial недоступен в вашей системе или указан полный путь для шрифта до setFont()

$draw->setFont('/path/to/ARIALB.ttf');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...