使用Imagemagick自定义字体

3
我正在探索imagemagick的功能和限制,并希望听取您的反馈。
我最终想要做的是使用imagemagick输出带有自定义ttf字体的图像到浏览器中,让用户输入一些文本并显示不同字体的各种图像。
imagemagick的限制是什么?我能否指定在图像上绘制字体的位置,并且它在不同系统或浏览器上的显示是否会有所不同?
如果您能在我开始这个小项目之前告诉我有关使用imagemagick工作的任何其他信息,我将不胜感激。

是的,只需查找基本用法并从那里开始。《ImageMagick示例》书籍提供了很好的概述:http://www.imagemagick.org/Usage/fonts/ - Pekka
@PraveenKumar 谢谢大家,我查了 PHP 手册,但如果找不到东西,我就会倾向于在 SO 上询问。 - grasshopper
3个回答

2

你应该查看imagemagick的示例页面:http://www.imagemagick.org/Usage/

它非常强大,可以做很多事情。

而且,你可以指定字体convert -t a.ttf ...


1
今天是 convert -font a.ttf ... - DannyB

1

您可以明确告诉imagemagick图像中文本的位置,由于它是在您的服务器上生成的,因此在任何浏览器上都将是相同的。问题可能更多地涉及您如何显示这些图像(是否有任何CSS或JavaScript技巧?)

问题在于所有这些字体都需要安装在您的服务器上,图像将在那里创建。

请查看有关将文本转换为图像的信息:http://www.imagemagick.org/Usage/text/


1

另一个有用的命令是 convert -list font,它会列出系统字体、它们的路径和别名。在将脚本从一台机器移植到另一台机器时非常有用。

convert -list font|grep -i arial
  Font: Arial
    family: Arial
    glyphs: /Library/Fonts/Arial.ttf
  Font: ArialB
    family: Arial
    glyphs: /Library/Fonts/Arial Bold.ttf
  Font: ArialBI
    family: Arial
    glyphs: /Library/Fonts/Arial Bold Italic.ttf
  Font: ArialBk
    family: Arial Black
    glyphs: /Library/Fonts/Arial Black.ttf

这使得使用ImageMagick进行加粗或斜体等操作变得非常容易。
convert -background none  -fill black  -font ArialB -pointsize 15 \
          -size 380x caption:'i <3 stackoverflow' \
          summary_text.png

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接