在php中有GD2的自动换行功能吗?

arm*_*rma 2 php word-wrap gd2

人.

我对图像上的GD2文字有轻微问题.我有一切工作,现在我尝试在图像上添加可以包装在图像中的文本.

例如,我有宽度为200px的图像和大块文本.如果使用imagettftext()文本超出图像边界,则实际上只能看到部分文本.我曾尝试使用Zend的文本换行功能,但它并不总是在这里产生准确的结果(不是说它不起作用,只是在这种情况下不起作用).

是否有一些专用的GD2方法来设置文本应该适合的宽度框,如果它碰到那个框的边框,它应该继续在新的行?

saf*_*rov 5

不确定它是你在找什么,但你可以试试这个:

 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)