Php 当i';我试图找到文本长度和字符长度之和

Php 当i';我试图找到文本长度和字符长度之和,php,gd,Php,Gd,我有一个带有字体的字符串,我需要找到它的宽度,然后是这个字符串中每个字符的宽度,我使用GD-libimagettfbbox来实现这个,但它最终总是给我不同的结果 $text="some random text"; $info=imagettfbbox(18,0,'/var/www/html/ARIAL.TTF',$text); $text_width=$info[2]-$info[0]; $text_width_by_chars=0; for($i=0;$i<strlen($text);

我有一个带有字体的字符串,我需要找到它的宽度,然后是这个字符串中每个字符的宽度,我使用GD-lib
imagettfbbox
来实现这个,但它最终总是给我不同的结果

$text="some random text";
$info=imagettfbbox(18,0,'/var/www/html/ARIAL.TTF',$text);
$text_width=$info[2]-$info[0];

$text_width_by_chars=0;
for($i=0;$i<strlen($text); $i++){
    $char=$text[$i];
    $info=imagettfbbox(18,0,'/var/www/html/ARIAL.TTF',$char);
    $char_width=$info[2]-$info[0];
    $text_width_by_chars+=$char_width;
}
echo $text_width.' '.$text_width_by_chars;
$text=“一些随机文本”;
$info=imagettfbbox(18,0,'/var/www/html/ARIAL.TTF',$text);
$text_width=$info[2]-$info[0];
$text\u width\u by\u chars=0;

对于($i=0;$iI,我认为这都是关于紧排().TTF文件包含的字符对宽度与每个字符的宽度不同。也可能是某种自动的字母间距…?@misorude我如何修复它?我希望它们相等。如果是因为字母间距之类的原因,那么我认为您只能自己尝试找出一个公因子。或者使用您自己的函数来解决此问题在图像中写入文本,这样就可以指定字母间距,首先要单独绘制每个字母-我认为这都是关于紧排().TTF文件包含的字符对宽度与每个字符的宽度不同。也可能是某种自动的字母间距…?@misorude我如何修复它?我希望它们相等。如果是因为字母间距之类的原因,那么我认为您只能自己尝试找出一个公因子。或者使用您自己的函数来解决此问题将文本写入图像中,这样可以指定字母间距,具体做法是首先单独绘制每个字母-