Thinkphp3.2.3整合phpqrcode生成二维码

一、下载phpqrcode
下载地址:https://sourceforge.net/projects/phpqrcode/
下载后解压放到ThinkPHP\Library\Vendor
在这里插入图片描述

二、使用
1、调用phpqrcode生成二维码

public function qrcode()
    {
        $url="http://www.baidu.com";
        $path = "Public/Uploads/"; //本地文件存储路径
        $level=3;
        $size=4;
        Vendor('phpqrcode');
        $errorCorrectionLevel =intval($level) ;//容错级别
        $matrixPointSize = intval($size);//生成图片大小 //生成二维码图片
        $object = new \QRcode();
        $QR ="Public/Uploads/22.png";
        $object->png($url, false, $errorCorrectionLevel, $matrixPointSize, 2);
    }

效果
在这里插入图片描述

2、生成带logo的二维码
控制器方法

	/**
     * 生成带背景的二维码图
     */
    public function index(){
        $productid = I('productid');
        $uid = I('uid');
        Vendor('phpqrcode');
        $value = 'http://www.baidu.com"; //二维码内容
        $errorCorrectionLevel = 'L';//容错级别
        $matrixPointSize = 6;//生成图片大小   //生成二维码图片
        $object = new \QRcode();
        $codeurl = 'code'.$uid;
        $object->png($value, 'Public/'.$codeurl.'.png', $errorCorrectionLevel, $matrixPointSize, 2);
        $logo = 'Public/'.$codeurl.'.png';//已经生成的原始二维码图
        $QR = 'Public/Uploads/back.png';//准备好的logo图片
        if ($logo !== FALSE) {
            $QR = imagecreatefromstring(file_get_contents($QR));
            $logo = imagecreatefromstring(file_get_contents($logo));
            $QR_width = imagesx($QR);//二维码图片宽度
            $QR_height = imagesy($QR);//二维码图片高度
            $logo_width = imagesx($logo);//logo图片宽度
            $logo_height = imagesy($logo);//logo图片高度
            $logo_qr_width = $QR_width / 5;
            $scale = $logo_width/$logo_qr_width;
            $logo_qr_height = $logo_height/$scale;
            $from_width = ($QR_width - $logo_qr_width) / 2; //重新组合图片并调整大小
            imagecopyresampled($QR, $logo, 6, 720, 0, 0, $logo_qr_width, $logo_qr_height, $logo_width, $logo_height);
        } //输出图片
        $spreadimg = 'spread'.$uid;//输出图片名字
        imagepng($QR, 'Public/'.$spreadimg.'.png');
        $this->assign('spreadimg',$spreadimg);
        $this->display();
    }

页面显示

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title></title>
</head>
<body>
<img src="__PUBLIC__/{$spreadimg}.png" alt="" style="width:100%;height:auto"/>
</body>
</html>

效果,二维码在左下角
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值