(PHP 4 >= 4.0.7, PHP 5, PHP 7, PHP 8)
imagefttext — 使用 FreeType 2 字体将文本写入图像
$image
,$size
,$angle
,$x
,$y
,$color
,$font_filename
,$text
,$options
= []注意:
在 PHP 8.0.0 之前,imagefttext() 是 imagettftext() 的扩展变体,它还支持
options
。 自 PHP 8.0.0 起,imagettftext() 是 imagefttext() 的别名。
image
由图象创建函数(例如imagecreatetruecolor())返回的 GdImage 对象。
size
字体的尺寸,单位:点(磅)。
angle
以度为单位的角度,0 度表示从左到右阅读文本。较高的值表示逆时针旋转。例如,值为 90 将导致从下到上阅读文本。
x
x
和 y
给出的坐标将定义第一个字符的基点(大致是字符的左下角)。 这与
imagestring() 不同,其中 x
和 y
定义第一个字符的左上角。例如,“左上角”是 0, 0。
y
y 坐标。设置字体基线的位置,而不是字符的最底部。
color
文本所需颜色的索引,请参阅 imagecolorexact()。
font_filename
希望使用的 TrueType 字体的路径。
根据 PHP 使用的 GD 库版本,当 font_filename
不以 /
开头时,将追加 .ttf
到文件名末尾,库将尝试沿着库定义的字体路径搜索该文件名。
在许多情况下,字体与使用的脚本位于同一目录中,以下技巧将缓解任何包含问题。
<?php
// 设置 GD 的环境变量
putenv('GDFONTPATH=' . realpath('.'));
// Name the font to be used (note the lack of the .ttf extension)
$font = 'SomeFont';
?>
text
要插入到图像中的文本。
options
键 | 类型 | 含义 |
---|---|---|
linespacing |
float | 定义绘制行距 |
这个函数返回数组,定义了盒子的四个点,从左下角开始逆时针移动:
0 | 左下 x 坐标 |
1 | 左下 y 坐标 |
2 | 右下 x 坐标 |
3 | 右下 x 坐标 |
4 | 右上 x 坐标 |
5 | 右上 x 坐标 |
6 | 左上 x 坐标 |
7 | 左上 y 坐标 |
失败时返回 false
。
示例 #1 imagefttext() 示例
<?php
// Create a 300x100 image
$im = imagecreatetruecolor(300, 100);
$red = imagecolorallocate($im, 0xFF, 0x00, 0x00);
$black = imagecolorallocate($im, 0x00, 0x00, 0x00);
// Make the background red
imagefilledrectangle($im, 0, 0, 299, 99, $red);
// Path to our ttf font file
$font_file = './arial.ttf';
// Draw the text 'PHP Manual' using font size 13
imagefttext($im, 13, 0, 105, 55, $black, $font_file, 'PHP Manual');
// Output image to the browser
header('Content-Type: image/png');
imagepng($im);
imagedestroy($im);
?>
注意: 此函数仅在 PHP 编译时加入 freetype 支持时有效(--with-freetype-dir=DIR)。