发布于 2023-11-27 00:54:08 浏览 252 次
array imagettfbbox(float $size, float $angle, string $fontfile, string $text)
函数原型如下:
3、
参数说明:
4、
$size:文本的字体大小。
5、
$angle:文本的旋转角度,以度为单位。
6、
$fontfile:TrueType字体文件的路径。
7、
$text:要渲染的文本。
8、
返回值是一个包含四个坐标值的数组,表示边界框的左下角和右上角坐标。具体含义如下:
9、
[0]:左上角的 X 坐标。
10、
[1]:左上角的 Y 坐标。
11、
[2]:右上角的 X 坐标。
12、
[3]:右上角的 Y 坐标。
13、
[4]:右下角的 Y 坐标。
14、
[5]:右下角的 Y 坐标。
15、
[6]:左下角的 Y 坐标。
16、
[7]:左下角的 Y 坐标。
17、
$fontFile = '/path/to/font.ttf';
$text = 'Hello, World!';
$size = 24;
$angle = 0;
$bbox = imagettfbbox($size, $angle, $fontFile, $text);
// 提取边界框的坐标
$x1 = $bbox[0];
$y1 = $bbox[1];
$x2 = $bbox[2];
$y2 = $bbox[3];
$x3 = $bbox[4];
$y3 = $bbox[5];
$x4 = $bbox[6];
$y4 = $bbox[7];
// 输出边界框的尺寸
$width = $x2 - $x1;
$height = $y2 - $y1;
echo "Bounding box width: $width\n";
echo "Bounding box height: $height\n";
使用示例:
18、
注意,imagettfbbox函数返回的坐标是基于文本的笛卡尔坐标系(左上角为原点),而不是图片的坐标系。你可能需要根据实际需要进行坐标转换。