Text Imagemagick和web字体
有人知道ImageMagick是否可以由web字体驱动吗?(或者可能通过STD in输入?)我尝试了下面的线路,但没有成功:Text Imagemagick和web字体,text,fonts,imagemagick,Text,Fonts,Imagemagick,有人知道ImageMagick是否可以由web字体驱动吗?(或者可能通过STD in输入?)我尝试了下面的线路,但没有成功: convert -fill black -font http://fonts.googleapis.com/css?family=Diplomata+SC -pointsize 72 label:'Acme Dynamite Company, LLC' logo.png 我的目标是让用户选择Google Web字体。最终更新:用户barethon编写了一个python
convert -fill black -font http://fonts.googleapis.com/css?family=Diplomata+SC -pointsize 72 label:'Acme Dynamite Company, LLC' logo.png
我的目标是让用户选择Google Web字体。最终更新:用户barethon编写了一个python woff到ttf的转换器,它工作得非常好。()我现在可以从谷歌下载我想要的字体,将其转换为ttf,并与imagemagick一起使用。比我希望的稍微复杂一点,但没什么大不了的。如果您设置GWF API,它将返回一个TTF url: $wget-qO-http://fonts.googleapis.com/css?family=Diplomata+SC“| urlext2
$我知道这在这一点上已经很旧了,但是为了节省其他人的时间,这里有一些基本的PHP来做你想做的事情。它可以优化为使用curl之类的,但这应该足以让人们开始工作。从浏览器访问时,它似乎返回一个woff和woff2 url,但从其他任何地方访问时,它返回一个tff
$fontUrl = 'http://fonts.googleapis.com/css?family=Anton';
$fontDescription = file_get_contents($fontUrl);
$startStr = 'url(';
$startStrLen = strlen($startStr);
$start = strpos($fontDescription, $startStr) + $startStrLen;
$end = strpos($fontDescription, ')', $start);
$tffUrl = substr($fontDescription, $start, $end - $start);
$tffFile = '/tmp/anton.ttf';
file_put_contents($tffFile, file_get_contents($tffUrl));
$im = new Imagick();
$im->setFont($tffFile);
$im->newPseudoImage(100, 100, "caption:Hello");
$im->setImageFormat('png');
$im->setImageBackgroundColor(new ImagickPixel('transparent'));
header('Content-Type: image/png');
echo $im->__toString();
谢谢你用牙线来解决这个问题。我用类似的方法解决了这个问题 我之所以使用随机数而不是像
font.ttf
这样的静态文件名,是因为如果其他用户同时调用该函数,它可能会产生问题
$url = 'https://www.googleapis.com/webfonts/v1/webfonts?key=YOUR KEY HERE';
$responseString = file_get_contents($url);
$fontJSON = json_decode($responseString);
<select name="font">
<?php foreach ($fontJSON->items as $font): ?>
<option value="<?= $font->files->regular ?>"><?= $font->family ?></option>
<?php endforeach; ?>
</select>
unlink("tmp/$random_number.ttf"); //remove tmp font
只是一个更新-我已经确定可以使用Google API获取字体列表,然后通过WGET下拉WOFF文件,但ImageMagick似乎不支持WOFF格式字体。如果有人知道一个基于Linux的WOFF-to-TTF转换器,我想我可以免费回家了。在这里,您可以使用
-font
指向类似-font./myfont.TTF的文件?有趣的答案!!
unlink("tmp/$random_number.ttf"); //remove tmp font