使用ImageMagick和PHP使用自定义字体绘制文本

Zna*_*kus 2 php imagemagick text-rendering

我希望使用自定义字体动态地将文本呈现给图像,最好使用直接输出保存到文件选项.并根据字体/大小组合自动设置图像大小.

我已经可以用GD做到这一点,但它不处理字符相互叠加的字体.

所以现在我正在寻找ImageMagick.我在文档中找到了一个似乎做我想做的事情的例子.这可能与php_magick?特别是没有定义图像大小的部分:)如果不是,我可以让命令行magick输出原始图像,所以我可以用PHP将它直接传递给客户端吗?

谢谢!


真正的问题可能是:如何使用php_magick将下面的IM命令转换为PHP代码?

convert -background lightblue -fill blue -font Arial -pointsize 72 label:Anthony
Run Code Online (Sandbox Code Playgroud)

Jim*_*zuk 11

您应该能够使用该类的annotateImage功能Imagick来复制该功能.

这是来自该文档的直接复制粘贴:

<?php
/* Create some objects */
$image = new Imagick();
$draw = new ImagickDraw();
$pixel = new ImagickPixel( 'gray' );

/* New image */
$image->newImage(800, 75, $pixel);

/* Black text */
$draw->setFillColor('black');

/* Font properties */
$draw->setFont('Bookman-DemiItalic');
$draw->setFontSize( 30 );

/* Create text */
$image->annotateImage($draw, 10, 45, 0, 
    'The quick brown fox jumps over the lazy dog');

/* Give image a format */
$image->setImageFormat('png');

/* Output the image with headers */
header('Content-type: image/png');
echo $image;
Run Code Online (Sandbox Code Playgroud)