【问题标题】:How to fit IMagick Canvas to font size in PHP?如何使 IMagick Canvas 适合 PHP 中的字体大小?
【发布时间】:2016-06-16 20:29:58
【问题描述】:

我想创建一个仅包含 1 行文本的简单图像。类似这样:

http://www.imagemagick.org/Usage/text/#label

但是,我想将它保留在 php 的 Imagick 中。我知道字体大小,并且我希望画布大小适合字体大小,就像在示例中一样。不幸的是,我没有看到在 PHP 中使用 Imagick 的方法。我为 PHP 找到的所有示例都需要我先定义画布大小。

救命!

【问题讨论】:

标签: php image-processing imagemagick imagick


【解决方案1】:

您可以通过查询字体指标来做这样的事情,但可能有更好的方法,我不知道......

#!/usr/local/bin/php -f
<?php
    $image = new Imagick();
    $draw = new ImagickDraw();
    $draw->setFillColor('black');
    $draw->setStrokeAntialias(true);
    $draw->setTextAntialias(true);
    $draw->setFontSize(24);
    $text="Hello, I am a lovely label";
    // Set typeface
    $draw->setFont('Impact');
    // Calculate size
    $metrics = $image->queryFontMetrics($draw,$text,FALSE);
    $w=$metrics['textWidth'];
    $h=$metrics['textHeight'];
    $y=$metrics['ascender'];
    $image->newImage($w,$h,"steelblue","png");
    $image->annotateImage($draw,0,$y,0,$text);
    $image->writeImage("result.png");
?>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-12-28
    • 2021-11-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多