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实现AOP的基础