PHP imagefttext 图像GD库函数
-
定义和用法
imagefttext - 使用 FreeType 2 字体将文本写入图像 -
版本支持
PHP4 PHP5 PHP7 支持 支持 支持 注意: 此函数需要 GD 2.0.1 或更高版本(推荐 2.0.28 及更高版本)。
注意: 此函数仅在 PHP 编译时加入 freetype 支持时有效(--with-freetype-dir=DIR )。
4.3.5 extrainfo被设为可选。
-
语法
imagefttext ( resource $image , float $size , float $angle , int $x , int $y , int $color , string $fontfile , string $text [, array $extrainfo ] )
imagefttext() 此函数计算并返回FreeType文本的边框(以像素为单位)。 -
参数
参数 必需的 描述 image 是 由图象创建函数(例如 imagecreatetruecolor() )返回的图象资源。 size 是 要使用的字体大小(以磅为单位)。 angle 是 以度为单位的角度,其中0度为从左到右阅读文本。 较高的值表示逆时针旋转。 例如,值90将导致从下到上的阅读文本。 x 是 x和y给出的坐标将定义第一个字符的基点(大约是字符的左下角)。 这与imagestring()不同,在imagestring() 中,x和y定义第一个字符的左上角。 例如,“左上”是0、0。 y 是 y坐标。 这将设置字体基线的位置,而不是字符的最底部。 color 是 文本所需颜色的索引,请参见 imagecolorexact() 。 fontfile 是 您要使用的TrueType字体的路径。 根据PHP使用的GD库版本,当fontfile不是以/开头时,.ttf将被附加到文件名,并且库将尝试沿着库定义的字体路径搜索该文件名。 当使用低于2.0.18的GD库版本时,空格字符(而不是分号)被用作不同字体文件的“路径分隔符”。 意外使用此功能将导致出现警告消息:警告:找不到/打开字体。 对于这些受影响的版本,唯一的解决方案是将字体移动到不包含空格的路径。 在许多情况下,字体与使用该脚本的脚本位于同一目录中,以下技巧可缓解任何包含问题。 // Set the enviroment variable for GD putenv('GDFONTPATH=' . realpath('.')); // Name the font to be used (note the lack of the .ttf extension) $font = 'SomeFont';
text 是 要插入图像的文本。 extrainfo 否 - linespacing - float - 定义绘图线间距
-
返回值
此函数返回一个定义框的四个点的数组,该框从左下角开始,并逆时针移动:- 0 左下x坐标
- 1 左下y坐标
- 2 右下角的x坐标
- 3 右下y坐标
- 4 右上角的x坐标
- 5 右上y坐标
- 6 左上x坐标
- 7 左上y坐标
-
示例
// 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 = './DejaVuSans.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);
-