Thinkphp3.2版本结合phpqrcode生成带logo的二维码并提供下载

Posted shenlin

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Thinkphp3.2版本结合phpqrcode生成带logo的二维码并提供下载相关的知识,希望对你有一定的参考价值。

不做过多的描述了,详细的内容可以参照文章“Thinkphp3.2版本结合phpqrcode生成二维码并提供下载”。

方法就是将qrcode()方法替换成qicode_mh()方法,路径自行配置即可。

 

//生成二维码-美化版
    public function qrcode_mh($url,$name){
        ob_clean();
        Vendor(‘phpqrcode.phpqrcode‘);
        $level = 3;
        $size = 4;
        $errorCorrectionLevel = intval($level) ;//容错级别
        $matrixPointSize = intval($size);//生成图片大小
        //保存位置
        $path = "Public/Home/qrcode/";
        // 生成的文件名
        $fileName = $path.date(‘Y-m-d‘,time())."-".$name.‘.png‘;
        //生成二维码图片 
        $object = new \\QRcode();
        $object->png($url,$fileName, $errorCorrectionLevel, $matrixPointSize, 2);  
        ob_clean();
        $QR = $fileName;//已经生成的原始二维码图
        $logo = "Public/Home/xiao/".rand(1,5).".png";//准备好的logo图片
        if (file_exists($logo)) {
            $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, $from_width, $from_width, 0, 0, $logo_qr_width,
            $logo_qr_height, $logo_width, $logo_height);
            //输出图片
            header("Content-type: image/png");
            // dump($qrcode_path);
            $qrcode_path = $path.date(‘Y-m-d‘,time())."-".$name.‘.png‘;
            imagepng($QR,$qrcode_path);
            //imagedestroy($QR);
            return $qrcode_path;
        }else{
            return false;
        }
    }

  

以上是关于Thinkphp3.2版本结合phpqrcode生成带logo的二维码并提供下载的主要内容,如果未能解决你的问题,请参考以下文章

Thinkphp3.2结合phpqrcode生成二维码(含Logo的二维码),附案例

thinkphp3.2 qrcode 怎么在view页面上输出

thinkphp3.2二维码扩展

ThinkPHP3.2.3 结合 PHPExcel 导出

thinkphp3.2版本及文档

thinkphp3.2.3版本文件目录及作用