PHP - GD - 如何包装文本

时间:2016-02-29 12:46:50

标签: php gd

我创建了一个500X200的图像,上面有白色背景和文字。 我怎样才能包装" Text"如果它在GD中很长。

$image = imagecreatetruecolor($width, $height);
$white = imagecolorallocate($image, 255, 255, 255); 
$black = imagecolorallocate($image, 0, 0, 0);
imagefill ( $image, 0, 0, $white );

...

imagettftext($image, 18, 0, $x, 100, $black, $font, "text");

1 个答案:

答案 0 :(得分:2)

GD支持旋转,垂直和水平对齐,可配置的线高和前导,自动换行(显然),字符换行和文本轮廓。虽然由于它的大小,这坦率地属于一个类(或命名空间),但它在一个函数中。您可以随意删除不需要的功能。

使用示例:

$size = 14;
$angle = 34;
$left = 10;
$top = 40;
$color = imagecolorallocate($im, 255, 0, 0);
$fontfile = "arial.ttf";
$text = "Test";
$opt = array('width' => 300,'line_height' => 15,'orientation' =>array(ORIENTATION_TOP, ORIENTATION_LEFT),
'align' => ALIGN_LEFT,
'v_align' => VALIGN_TOP,
'outlines' = array(
array(5, imagecolorallocate($im, 0, 255, 0)),
array(2, imagecolorallocate($im, 0, 0, 255)),
),
// More options 
);
imagettftextboxopt($im, $size, $angle, $left, $top, $color, $fontfile, $text, $opt);

<强>更新

并参考此question