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);
    
  • 相关函数

    imagefontheight() - 取得字体宽度。
    imageloadfont() - 载入一种字体。