如何确定网页上呈现的字符串的长度(以像素为单位)?

2022-08-30 17:06:34

如果我知道字体大小 (12) 和字体系列 (calibri),有没有办法确定给定字符串在呈现后将采用的长度(以像素为单位)?我对字体和大小绝对确定。是否有任何查找表用于此目的来确定PHP代码本身的长度?我正在编写一个PHP脚本来动态生成一个SVG图像,其中包含各种框,其中包含从数据库中提取的数据。问题是,如果字符串很大,我需要手动将文本换行并增加框的大小。

谢谢


答案 1

使用 PHP 函数 imagettfbbox 获取给定字符串的边界框的大小。

另一方面,您也可以使用javascript来操作SVG图像,以防万一您想要在客户端处理它。这样,客户端是否具有指定的字体甚至无关紧要...


答案 2

您可以使用 PHP GD 将字符串渲染为图像,并获取结果图像的大小。

如果你使用它,它应该工作:

   list($left,, $right) = imageftbbox( 12, 0, "arial.ttf", "Hello World");

   $width = $right - $left;

推荐