欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

PHP 使用 GD 生成推广图

程序员文章站 2022-03-24 18:46:51
...
// GD生成推广图
private function CreateTg($user)
{
$bg = Db::name(‘bg’)->find();
//图片使用本地的绝对路径

$dst_path = '1.jpg';//背景图
$src_path= '2.gpg'; //二维码
// 获取图片后缀
$hz = substr(strrchr($dst_path, '.'), 1);
// 保存的本地绝对路径文件夹
$path = getcwd().'/Tg/';
//生成新图片名
$image = $path.$user['openid'].".".$hz;
//创建图片的实例
$dst = imagecreatefromstring(file_get_contents($dst_path));
$src = imagecreatefromstring(file_get_contents($src_path));
//获取二维码图片的宽高
list($src_w,$src_h) = getimagesize($src_path);
// 自定义缩放二维码图片的宽高
$new_src_w =$src_w *0.2 ;  $new_src_h=$src_h*0.2;
    // 合并图片
imagecopyresampled($dst, $src, 155,850, 0, 0, $new_src_w, $new_src_h,$src_w, $src_h);
// 引入字体文件,服务器没有字体文件的可以去window电脑里面控制面板->个性化里找到字体文件复制到服务器
$fonts = getcwd().'/MSYH.TTF';
$col = imagecolorallocatealpha($dst,0,0,0,0);
imagettftext($dst,12,0,245,890,$col,$fonts,$user['nickname']);
imagettftext($dst,12,0,245,920,$col,$fonts,'邀请您加入津门读书会');
//获取合成图片的宽高
list($src_w, $src_h, $dst_type) = getimagesize($dst_path);
//保存图片
switch ($dst_type) {
    case 1://GIF
        imagegif($dst, $image);
               //保存后,销毁
        imagedestroy($dst);
        imagedestroy($src);
        break;
    case 2://JPG
        imagejpeg($dst,$image);
        imagedestroy($dst);
        imagedestroy($src);
        break;
    case 3://PNG
        imagepng($dst, $image);
        imagedestroy($dst);
        imagedestroy($src);
        break;
    default:
        break;
}
}
相关标签: 后端 php