我有这个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?我不知道如何在不改变图像大小的情况下修复它。
答案 0 :(得分:2)
使用GD功能imagettfbbox。你需要加载一个ttf字体。
http://www.php.net/manual/en/function.imagettfbbox.php
点击此处查看示例。