/**
 * 将文字打印在图片上并输出
 * @param string $data 显示在图片上的文字
 * @return string
 */
function imgaddtext($data = '测试文字')
{
    //底层模板路径
    $filename = './static/common/images/muban.jpg';
    //字体路径(字体在服务器上的绝对路径)
    $font = realpath('./static/common/font/mnjt.ttf');
    //获取图片的属性,第一个宽度,第二个高度,类型1=>gif,2=>jpeg,3=>png
    list($width, $height, $type) = getimagesize($filename);
    //可以处理的图片类型
    $types = array(1 => "gif", 2 => "jpeg", 3 => "png",);
    //通过图片类型去组合,可以创建对应图片格式的,创建图片资源的GD库函数
    $createfrom = "imagecreatefrom" . $types[$type];
    //通过“变量函数”去打对应的函数去创建图片的资源
    $image = $createfrom($filename);
    //设置字体的颜色(rgb格式)
    $textcolor = imagecolorallocate($image, 48, 42, 40);
    //x轴居中计算(需要自行测试字体宽度和字体大小的关系,例如下面50号字对应计算宽度为67)
    $x = ($width - 67 * mb_strlen($data, 'utf8')) / 2;//(图片总宽-每个字宽度*字数)/2得出这行字在x轴居中位置
    //参数分别为:模板地址,文字大小、旋转角度(以第一个字左边为中心旋转)、x轴位置,y轴位置,文字颜色,文字字体,文字内容
    imagefttext($image, 50, 0, $x, 650, $textcolor, $font, $data);
    //通过图片类型去组合保存对应格式的图片函数
    $output = "image" . $types[$type];
    //设置保存路径
    $save_path = './uploads/cert/' . date('Ymd') . '/';
    //设置保存时的图片名称
    $new_name = time() . rand(1000, 9999) . '.' . $types[$type];
    //当保存路径不存在时自动创建
    if (!is_dir($save_path)) {
        mkdir($save_path, 0777, true);
    }
    //通过变量函数去保存对应格式的图片到指定路径
    $output($image, $save_path . $new_name);
    //去掉左边第一个点,防止显示时相对路径错误
    $save_path = ltrim($save_path, '.');
    //释放图片资源
    imagedestroy($image);
    //return $save_path . $new_name;
    return "";
}