次の ImageMagick スクリプト (PHP 用の Imagick を使用) を使用して、フォントのイメージを生成しています。このスクリプトは、サイズ 48 で約 30 文字の画像を生成するのに約 0.1 秒かかります。目標速度は約 0.01 秒です。残念ながら、GD ライブラリに切り替えることがこれを実現する唯一の方法かもしれません ( GD ではテキスト生成がはるかに高速であることをここで読みました)。ただし、重力やトリムなどの機能がなければ、GD を使用してこの種の画像を生成するのははるかに面倒です。このコードに明らかなボトルネックが見られる人はいますか?それとも、ライブラリを切り替える時期でしょうか?
$image = new Imagick();
$draw = new ImagickDraw();
$background = new ImagickPixel('none');
$draw->setFont($font);
$draw->setFontSize($size);
$draw->setFillColor(new ImagickPixel('#'.$color));
$draw->setGravity(Imagick::GRAVITY_CENTER);
$draw->annotation(0, 0, $text);
$image->newImage(5*mb_strlen($text, 'UTF-8')*$size, 5*$size, $background);
$image->setImageFormat('png');
$image->drawImage($draw);
$image->trimImage(0);
$image->writeImage($path_server['dirname'].'/'.$path_server['basename']);