php如何将文本放入框中

时间:2012-11-01 23:50:26

标签: php text fonts true-type-fonts

我有一个矩形框的边界。 是否可以在不知道文本大小的情况下将文本(使用自定义字体)放入框中。 我的意思是,是否有一个PHP函数设置正确的文本大小,以便文本适合用户定义的框? 我不需要文字包装。

我找到的唯一功能是imagettfbboximagettftext

imagettfbbox完全相反(给出边界,提供字体大小),而imagettftext用于在图像上写入文本,只有在知道fontSize时才这样做。

1 个答案:

答案 0 :(得分:4)

你正在使用php gd吗?如果是这样,那么我会使用imagettfbbox。只需定义除大小以外的所有参数。然后在该循​​环之外的大小,直到它足够小,以适应您定义的空间。我之前做过这个。它在内存中没有任何实际的图像创意,所以它非常快(比实际创建图像快得多)。

for($size=40;$size>5;$size--){
  $sizearray=imagettfbbox ( $size , 0- , 'font.ttf' , $message );
    $width=$sizearray[0] + $sizearray[4];
    if($width<$threshold/*you define*/){
      //you've got your $size
      break;
    }
}