人.
我对图像上的GD2文字有轻微问题.我有一切工作,现在我尝试在图像上添加可以包装在图像中的文本.
例如,我有宽度为200px的图像和大块文本.如果使用imagettftext()文本超出图像边界,则实际上只能看到部分文本.我曾尝试使用Zend的文本换行功能,但它并不总是在这里产生准确的结果(不是说它不起作用,只是在这种情况下不起作用).
是否有一些专用的GD2方法来设置文本应该适合的宽度框,如果它碰到那个框的边框,它应该继续在新的行?
不确定它是你在找什么,但你可以试试这个:
function wrap($fontSize, $fontFace, $string, $width){
$ret = "";
$arr = explode(' ', $string);
foreach ( $arr as $word ){
$teststring = $ret.' '.$word;
$testbox = imagettfbbox($fontSize, 0, $fontFace, $teststring);
if ( $testbox[2] > $width ){
$ret.=($ret==""?"":"\n").$word;
} else {
$ret.=($ret==""?"":' ').$word;
}
}
return $ret;
}
Run Code Online (Sandbox Code Playgroud)