文字被切断了

时间:2014-04-08 08:57:05

标签: php

我有这个PHP代码:

<?php
    include 'imagem.php';

    $imagem = new Image(502, 500, '#1C3C41');
    $imagem->setFont('Verdana', 14, '#fade45');

    $mapcrew = json_decode(utf8_decode(file_get_contents("http://api.formice.com/mapcrew/online.json")));
    foreach($mapcrew as $server=>$list) {
        $line = new Line();
        $line->marginTop = 2;
        $line->addText(strtoupper($server) . ':', 'Verdana Bold', 12, '#009D9D');
        $line->addLineBreak();
        $line->addText(implode(', ', array_unique($list)), 'Verdana', 12, '#6C77C1', 4);
        $imagem->drawLine($line);
    }

    $imagem->flushImg();
?>

问题是由于图像太小而导致文本被切断。有没有办法让每个限制的字符数限制或在文本被切断后放置一个LineBreak?我不知道如何在不改变图像大小的情况下修复它。

enter image description here

1 个答案:

答案 0 :(得分:2)

使用GD功能imagettfbbox。你需要加载一个ttf字体。

http://www.php.net/manual/en/function.imagettfbbox.php

点击此处查看示例。

Calculating Text Width with PHP GD