我正在使用以下 ImageMagick 脚本(使用 Imagick for PHP)来生成字体图像。这个脚本需要大约 0.1 秒来生成一个大小为 48 的大约 30 个字符的图像。目标速度大约是 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']);