我有一个矩形框的边界。是否可以在不知道文本大小的情况下将文本(使用自定义字体)放入框中。我的意思是,是否有一个 php 函数可以设置正确的文本大小,以便将文本放入用户定义的框中?我不需要文字换行。
我发现的唯一功能是imagettfbbox和 imagettftext。
imagettfbbox 正好相反(给出边界,提供字体大小),而 imagettftext 用于在图像上写入文本,前提是 fontSize 已知。
我有一个矩形框的边界。是否可以在不知道文本大小的情况下将文本(使用自定义字体)放入框中。我的意思是,是否有一个 php 函数可以设置正确的文本大小,以便将文本放入用户定义的框中?我不需要文字换行。
我发现的唯一功能是imagettfbbox和 imagettftext。
imagettfbbox 正好相反(给出边界,提供字体大小),而 imagettftext 用于在图像上写入文本,前提是 fontSize 已知。
你在使用 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;
}
}