PHP-根据字符串和所⽤字体计算字符串所占宽⾼
今天由于⽤GD画图, 需要把⼀段⽂字在⼀个框内居中, 但是⽂字的宽度如果⽤strlen($str) * $font_size来计算的话, 由于⽂字不是等宽⾼的, 所以会导致偏离, 最后选⽤的GD库的imagettfbbox()函数, 其原型如下
array ImageTTFBBox(int size, int angle, string fontfile, string text);
其中返回⼀个数组, 有⼋个元素, 描述了四个⾓的坐标
0    左下⾓ X 位置
1    左下⾓ Y 位置
2    右下⾓ X 位置
3    右下⾓ Y 位置字符串长度255是多少个汉字
4    右上⾓ X 位置
5    右上⾓ Y 位置
6    左上⾓ X 位置
7    左上⾓ Y 位置
$pos = imagettfbbox(self::FONT_SIZE , 0, self::FONT_FILE, $name);
其中self::FONT_SIZE、self::FONT_FILE分别为类中配置的字体⼤⼩和所⽤字体
字符串所占宽度为:
  $pos[2] - $pos[0]
字符串所占⾼度为:
  $pos[5] - $pos[3]

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。