使用 ImageMagick 和 PHP 使用自定义字体绘制文本
我想使用自定义字体将文本动态渲染到图像,最好使用直接输出选项或保存到文件。并根据字体/大小组合自动设置图像大小。
我已经可以使用 GD 做到这一点,但它不能处理字符相互重叠的字体。
所以现在我正在寻找 ImageMagick。我在文档中找到了一个示例,它似乎可以满足我的要求。这可以用 php_magick 实现吗?特别是没有定义图像大小的部分:)如果没有,我可以让命令行 magick 输出原始图像,这样我就可以用 PHP 将它直接传递给客户端吗?
谢谢!
真正的问题可能是:如何使用 php_magick 将下面的 IM 命令转换为 PHP 代码?
convert -background lightblue -fill blue -font Arial -pointsize 72 label:Anthony
I want to dynamically render text to an image with a custom font, preferably with the option to output directly or save to a file. And to automatically set the image size according to the font/size combination.
I can already do this with GD, but it doesn't handle fonts where characters overlay each other.
So now I'm looking to ImageMagick. I've found an example in the docs that seem to do what I want. Is this possible with php_magick? Especially the part where no image size is defined :) If it is not, can I make command-line magick output the raw image, so I can pass it directly to the client with PHP?
Thanks!
The real question probably is: How do I convert the IM command below to PHP code using php_magick?
convert -background lightblue -fill blue -font Arial -pointsize 72 label:Anthony
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您应该能够使用
annotateImage
< /a> Imagick 类的函数来复制该功能。这是该文档的直接复制粘贴:
You should be able to use the
annotateImage
function of theImagick
class to duplicate that functionality.Here's a straight up copy-paste from that documentation:
决定跳过 API 并使用命令行界面。
这将返回原始 PNG 数据,然后我们可以将其输出到浏览器。将
png:-
替换为文件名以保存到文件中。如果您在此处使用用户输入作为参数,请不要忘记使用
escapeshellarg
。Decided to skip the API and use the command-line interface instead.
This returns the raw PNG data, which we can then output to the browser. Replace
png:-
with the filename to save to a file instead.Don't forget to use
escapeshellarg
if you are using user input as parameters here.