微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php – ImageMagick:如何在图像上绘制两个不同大小的字符串?

我想绘制一个带有两个字符串的矩形.我想第一个字符串是15pt大小(它的数字),第二个是10pt大小(标签).可以很容易地将一个尺寸的单个字符串绘制到矩形,我这样做:

$image = new Imagick('someimage.png');
$draw = new ImagickDraw;
$draw->setGravity(Imagick::GraviTY_CENTER);
$draw->setfont(__DIR__ . DS . 'TREBUCBD.TTF');
$draw->setfontsize(15);
$draw->annotation(0, 0, '50 points');
$image->drawImage($draw);

这里的想法是让“50分”中的“50”变大.

我尝试使用$draw-> push()将当前设置推送到堆栈,然后再次设置字体大小和注释,然后两个字符串重叠.我一直试图这样做几个小时.任何帮助非常感谢!

上面的实现是在PHP中,但我可能会通过使用命令行ImageMagick用法显示它的示例来实现它.

编辑:我已经开始获得奖励,我会奖励用PHP实现的解决方案.

解决方法:

在“点”之前和“50”之后添加足够的空间,以便您很好地对齐它们:

<?PHP
$image = new Imagick('test.png');
$draw = new ImagickDraw;
$draw->setGravity(Imagick::GraviTY_CENTER);
$draw->setfontsize(30);
$draw->annotation(0, 0, '50         ');
$image->drawImage($draw);

$draw = new ImagickDraw;
$draw->setGravity(Imagick::GraviTY_CENTER);
$draw->setfontsize(15);
$draw->annotation(0, 0, '      points');
$image->drawImage($draw);

file_put_contents('test.png', $image->getimageBlob());
?>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐