📜  PHP | imagefttext()函数(1)

📅  最后修改于: 2023-12-03 14:45:17.033000             🧑  作者: Mango

PHP | imagefttext()函数

简介

imagefttext()函数是PHP GD库的一个插件,用于在图像上绘制TrueType字体的文字。该函数支持anti-alias(去锯齿)和使用灰度映射时的透明背景。

语法
bool imagefttext ( 
    resource $image ,        // 被绘制的图像资源
    float $size ,            // 字体大小
    float $angle ,           // 文字旋转角度
    int $x ,                 // 文字绘制起始点的x坐标
    int $y ,                 // 文字绘制起始点的y坐标
    int $color ,             // 绘制文本使用的颜色,可以是PEN颜色或BRUSH颜色
    string $fontfile ,       // 字体文件路径
    string $text ,           // 待绘制的文本
    array $extrainfo = []    // 一些额外信息,如Character Ranges、字符替换等
)
参数
  • image:被绘制的图像资源。
  • size:字体大小(磅数)。
  • angle:文字绘制时的旋转角度,正数表示逆时针旋转,负数表示顺时针旋转,单位:度。
  • x:绘制文本的起始点横坐标。
  • y:绘制文本的起始点纵坐标。
  • color:绘制文本使用的颜色,可以是PEN颜色或BRUSH颜色。
  • fontfile:字体文件的路径,需要绝对路径。
  • text:待绘制的文本。
  • extrainfo:一些额外信息,通常不需要传递。
返回值

绘制成功时返回 true ,否则返回 false

示例
<?php
// 创建一个250*250的图像
$im = imagecreatetruecolor(250, 250);

// 设置要用于绘制文本的颜色
$textcolor = imagecolorallocate($im, 255, 255, 255);

// 设置图像的背景颜色
$bgcolor = imagecolorallocate($im, 0, 0, 0);
imagefill($im, 0, 0, $bgcolor);

// 绘制文本
$text = "Hello, PHP!";
$font = 'arial.ttf'; // 字体文件路径
$fontsize = 20;
$angle = 0;
$x = 50;
$y = 130;
imagefttext($im, $fontsize, $angle, $x, $y, $textcolor, $font, $text);

// 输出图像
header('Content-Type: image/png');
imagepng($im);
imagedestroy($im);
注意事项
  • 使用 imagefttext() 函数需要先安装并开启 GD 库。
  • $fontfile 参数需要传入字体文件的绝对路径。
  • 字体文件需要具有可读性和可写性,否则可能导致绘制失败。
  • 字体文件的扩展名必须为 .ttf
  • 通常情况下,需要使用 imagettfbbox() 函数来计算绘制文本区域的大小。