您的位置:首页 > 编程语言 > PHP开发

利用thinkphp5的水印功能做图片海报

2017-06-22 10:26 337 查看
我自己网上开发了个微信投票,其中为了方便选手宣传就生成的图片海报,利于传播不易于被举报,下面给出关键代码片段,技术人员自行研究。

// 0. 确定海报路径
$voteimg_n = str_replace('.', '_bh.', $voteimg);

// 1. 合并横幅【这里打个标记:如果是自定义了水印图片,那么需要修改位置起点】
$image = \think\Image::open('.' . $voteimg);

if ($voteimgaction['vote_type'] == 1 && isset($voteimgaction['watermark']) && $voteimgaction['firstheight'] > 0 && $voteimgaction['firstwidth'] > 0) {
// 图文海报
$image->water('.' . $voteimgaction['watermark'], 1, 100)->save('.' . $voteimg_n);
} else {
// 图文投票
$image->water('./static/wechat/image/bottom.png', 8, 70)->save('.' . $voteimg_n);
}

// 2. 生成口号
$image = \think\Image::open('.' . $voteimg_n);

if ($voteimgaction['vote_type'] == 1 && isset($voteimgaction['watermark']) && $voteimgaction['firstheight'] > 0 && $voteimgaction['firstwidth'] > 0) {
// 图文海报
$newstr = '        我是「' . $param['vote_title'] . '」
' . $param['manifesto'] . '
微信识别二维码关注铜梁视窗,关注铜梁生活 http://www.5atl.com'; $image->text('“' . $newstr, './static/fonts/STHeiti-Medium.ttc', 24, '#ffffff', 7, - 60, 0)->save('.' . $voteimg_n);
} else {
// 图文投票
$newstr = '        我是' . $param['itemnum'] . '号选手「' . $param['vote_title'] . '」
' . $param['manifesto'] . '
微信识别二维码回复关键词“投票+' . $param['vote_id'] . '+' . $param['itemnum'] . '”投我一票吧';
$image->text('“' . $newstr, './static/fonts/msyh.ttc', 14, '#0A8BD6', 7, - 60, 0)->save('.' . $voteimg_n);
}

// 3. 将海报赋值到第一个图片
$voteimg_n = $uploader->uploadtoqiniu($voteimg_n);

if (strstr($param['vote_imgs'], ',')) {
$param['vote_imgs'] = $voteimg_n . ',' . $param['vote_imgs'];
} else {
$param['vote_imgs'] = $voteimg_n;
}


  在线体验:

菜单=》便民服务=》微信支持

网站登录http://www.5atl.com 也可以预览效果
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: