The only acceptable parameters I've been able to use are the location, relative to site root, of a font file.
e.g,
$draw->setFont("fonts/arial.ttf");
(PECL imagick 2, PECL imagick 3)
ImagickDraw::setFont — Sets the fully-specified font to use when annotating with text
$font_name
): bool本函数还未编写文档,仅有参数列表。
Sets the fully-specified font to use when annotating with text.
font_name
成功时返回 true
。
示例 #1 ImagickDraw::setFont() example
<?php
function setFont($fillColor, $strokeColor, $backgroundColor) {
$draw = new \ImagickDraw();
$draw->setStrokeColor($strokeColor);
$draw->setFillColor($fillColor);
$draw->setStrokeWidth(2);
$draw->setFontSize(36);
$draw->setFont("../fonts/Arial.ttf");
$draw->annotation(50, 50, "Lorem Ipsum!");
$draw->setFont("../fonts/Consolas.ttf");
$draw->annotation(50, 100, "Lorem Ipsum!");
$draw->setFont("../fonts/CANDY.TTF");
$draw->annotation(50, 150, "Lorem Ipsum!");
$draw->setFont("../fonts/Inconsolata-dz.otf");
$draw->annotation(50, 200, "Lorem Ipsum!");
$imagick = new \Imagick();
$imagick->newImage(500, 300, $backgroundColor);
$imagick->setImageFormat("png");
$imagick->drawImage($draw);
header("Content-Type: image/png");
echo $imagick->getImageBlob();
}
?>
The only acceptable parameters I've been able to use are the location, relative to site root, of a font file.
e.g,
$draw->setFont("fonts/arial.ttf");
To get a list of fonts that ImageMagick knows about, enter this from a cmd shell:
convert -list font
if u are looking for the configured/embedded font list
$fontList = \Imagick::queryFonts('*');
foreach ( $fontList as $fontName ) {
echo $fontName . '<br>';
}
http://php.net/manual/en/imagick.queryfonts.php