如何确定网页上呈现的字符串的长度(以像素为单位)?
如果我知道字体大小 (12) 和字体系列 (calibri),有没有办法确定给定字符串在呈现后将采用的长度(以像素为单位)?我对字体和大小绝对确定。是否有任何查找表用于此目的来确定PHP代码本身的长度?我正在编写一个PHP脚本来动态生成一个SVG图像,其中包含各种框,其中包含从数据库中提取的数据。问题是,如果字符串很大,我需要手动将文本换行并增加框的大小。
谢谢
如果我知道字体大小 (12) 和字体系列 (calibri),有没有办法确定给定字符串在呈现后将采用的长度(以像素为单位)?我对字体和大小绝对确定。是否有任何查找表用于此目的来确定PHP代码本身的长度?我正在编写一个PHP脚本来动态生成一个SVG图像,其中包含各种框,其中包含从数据库中提取的数据。问题是,如果字符串很大,我需要手动将文本换行并增加框的大小。
谢谢
使用 PHP 函数 imagettfbbox
获取给定字符串的边界框的大小。
另一方面,您也可以使用javascript来操作SVG图像,以防万一您想要在客户端处理它。这样,客户端是否具有指定的字体甚至无关紧要...
您可以使用 PHP GD 将字符串渲染为图像,并获取结果图像的大小。
如果你使用它,它应该工作:
list($left,, $right) = imageftbbox( 12, 0, "arial.ttf", "Hello World");
$width = $right - $left;