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

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

 
                // 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 也可以预览效果

 

posted @ 2017-06-22 10:26  板砖博客  阅读(381)  评论(0编辑  收藏  举报