参数中使用的字体大小不是以点为单位的大小(1 点 = 1/72 英寸),而是以像素为单位的字体高度。
因此,如果您想修改旨在打印的文档,则应该进行转换以获得正确的字体大小。
例如,如果您的文档分辨率为 300ppi,则应该将您的字体大小乘以 25/6,以便字体正确显示。
(PECL imagick 2, PECL imagick 3)
ImagickDraw::setFontSize — 设置在使用文本注释时要使用的字体大小
此函数目前没有文档;仅提供其参数列表。
设置在使用文本注释时要使用的字体大小。
pointsize
字体大小
不返回值。
示例 #1 ImagickDraw::setFontSize() 示例
<?php
function setFontSize($fillColor, $strokeColor, $backgroundColor) {
$draw = new \ImagickDraw();
$draw->setStrokeOpacity(1);
$draw->setStrokeColor($strokeColor);
$draw->setFillColor($fillColor);
$draw->setStrokeWidth(2);
$draw->setFont("../fonts/Arial.ttf");
$sizes = [24, 36, 48, 60, 72];
foreach ($sizes as $size) {
$draw->setFontSize($size);
$draw->annotation(50, ($size * $size / 16), "Lorem Ipsum!");
}
$imagick = new \Imagick();
$imagick->newImage(500, 500, $backgroundColor);
$imagick->setImageFormat("png");
$imagick->drawImage($draw);
header("Content-Type: image/png");
echo $imagick->getImageBlob();
}
?>
参数中使用的字体大小不是以点为单位的大小(1 点 = 1/72 英寸),而是以像素为单位的字体高度。
因此,如果您想修改旨在打印的文档,则应该进行转换以获得正确的字体大小。
例如,如果您的文档分辨率为 300ppi,则应该将您的字体大小乘以 25/6,以便字体正确显示。
<?php
$sourceFile='in.jpg';
$textWrite='God is Great';
$x=50;
$y=50;
$fontColor='#000000';
$fontSize=34;
$colorPix=new ImagickPixel ($fontColor);
$image=new Imagick ($sourceFile);
$draw=new ImagickDraw();
$draw->setFontSize($fontSize);// 设置在使用文本注释时要使用的字体大小
$draw->setFillColor($colorPix);// 设置用于绘制填充对象的填充颜色
$image->annotateImage($draw,$x,$y,0,$textWrite);// 用文本注释图像
$image->writeImage('out.jpg');// 将图像写入指定的文件名
?>