PHP 分享海报生成,包含二维码生成与图片圆角处理

效果展示

 

实现过程

    public function goodsPoster()
    {
        include_once CMF_ROOT . 'vendor/poster/Poster.php';
        $userInfo=$this->user();//用户信息
        $goodsImg = CMF_ROOT . 'public/static/images/ms.png';
        $goodsInfo=['goods_id'=>1,'goodname'=>'独臂张烧鸡','url'=>$goodsImg];//自行获取商品信息
        $gd_img = new ImgGD($userInfo,$goodsInfo);      
        $url = $gd_img->createShareImg();
        return $url;
    }

Poster.php

<?php
namespace imggb;
/**
 * 图片处理
 * @author xiaozhe
 */
class ImgGD{
    private $userInfo;
    private $goodsInfo;
    public function __construct($userInfo, $goodsInfo) {
        $this->userInfo = $userInfo;
        $this->goodsInfo = $goodsInfo;
    }
    /**
     * 创建分享海报
     */
    public function createShareImg(){
        // 获取用户信息
        $userinfo = $this->userInfo;
        // 获取商品信息
        $foodsinfo = $this->goodsInfo;
        // 1 获取背景图尺寸
        list($bg_w,$bg_h) = getimagesize("E:/down/phpstudy_pro/WWW/feiyi-center/public/static/images/poster_bg.jpg");
        // 2 创建画图
        $img = @imagecreatetruecolor($bg_w,$bg_h);
        // 3 填充画布背景颜色
        $img_bg_color = imagecolorallocate($img,255,255,255);
        imagefill($img,0,0,$img_bg_color);
        // 4 将背景图填充到画布
        $bg_img = $this->getImgReource("E:/down/phpstudy_pro/WWW/feiyi-center/public/static/images/poster_bg.jpg");
        imagecopyresized($img,$bg_img,0,0,0,0,$bg_w,$bg_h,$bg_w,$bg_h);
        // 5生成用户二维码 并填充到画布
        include_once __DIR__.'/Code.php';
        $codedir = CMF_ROOT . 'public/upload/code';
        if(!is_dir($codedir))//检测目录是否存在
        {
            mkdir($codedir,0777,true);
        }
        $codepath = $codedir."/".md5($foodsinfo['goods_id'].$userinfo['userid']).'.png';//二维码保存路径
        $code
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值