利用phpqrcode二维码生成类库合成带logo的二维码并且用合成的二维码生成海报(二)

前期准备

1、利用phpqrcode生成二维码:

原理分析:

下载下来的类文件是一个压缩包,包含很多文件和演示程序,我们只需要里边的phpqrcode.php

这一个文件就可以生成二维码了,它是一个多个类的集合文件,我们需要用到里边的QRcode类png()方法:

//测试生成带头像的网站二维码海报
    public function ce_haibao_qrcode(){
        $codeurl = "https://www.baidu.com";

        Vendor(‘PHPQRcode.class#phpqrcode‘);

        $logoQR = "http://thirdwx.qlogo.cn/mmopen/vi_32/icaYhiapVcmsyGnHouHeSvYiaz8yxtvfBicgx5x8joGh4uNiaibp8skQf8Uv4CNtibsJDndbOQwI9LSvDQP6slFQaLy4g/132";

        $level=3;
        $size=6;
        $errorCorrectionLevel =intval($level) ;//容错级别
        $matrixPointSize = intval($size);//生成图片大小

        $dirPath =‘./Uploads/qrcode/‘.date(‘Y-m-d‘).‘/‘;//保存二维码路径
        $dirPath_B =‘/Uploads/qrcode/‘.date(‘Y-m-d‘).‘/‘;//保存二维码路径
        if(!file_exists($dirPath)){
            mkdir($dirPath, 0777);
        }
        $tmpName = time().".png"; //保存在服务器上的二维码名称
        $qrcodeName = $dirPath .$tmpName; //保存在服务器上的二维码路径
        $qrcodeName_B = $dirPath_B .$tmpName; //保存在服务器上的二维码路径

        //生成二维码图片
        $object = new \QRcode();
        $object->png($codeurl, $qrcodeName, $errorCorrectionLevel, $matrixPointSize, 2);
        //$QR = imagecreatefrompng($qrcodeName);
        $QR = $qrcodeName;

        $QRlogoPath = ‘./Uploads/qrcode/qrlogo/‘.date(‘Y-m-d‘).‘/‘;
        $QRlogoPath_B = ‘/Uploads/qrcode/qrlogo/‘.date(‘Y-m-d‘).‘/‘;
        if(!file_exists($QRlogoPath)){
            mkdir($QRlogoPath, 0777);
        }
        $qrcode = time().‘.png‘;
        $QRlogo = $QRlogoPath .$qrcode;
        $QRlogo_B = $QRlogoPath_B .$qrcode;
        if($logoQR !==FALSE){
            $QR = imagecreatefromstring(file_get_contents($QR));
            $logo = imagecreatefromstring(file_get_contents($logoQR));

            $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‘);       //合成带logo的二维码
            ImagePng($QR,$QRlogo);

            $dst_path = ‘./Uploads/haibao/haibao.png‘;//海报素材底图
            $src_path = $QRlogo;  //覆盖图,用上面的那张图QRlogo

            $haibaoPath = ‘./Uploads/qrcode/haibao/‘.date(‘Y-m-d‘).‘/‘;
            //$haibaoPath_B = ‘/Uploads/qrcode/haibao/‘.date(‘Y-m-d‘).‘/‘;
            if(!file_exists($haibaoPath)){
                mkdir($haibaoPath, 0777);
            }
            $haibao = time().‘.png‘;
            $haibao = $haibaoPath .$haibao;
            //$haibao_B = $haibaoPath_B .$haibao;

            //创建图片实例
            $dst = imagecreatefromstring(file_get_contents($dst_path));//海报
            $src = imagecreatefromstring(file_get_contents($src_path));//二维码
            //获取覆盖图的宽高
            list($src_w, $src_h) = getimagesize($src_path);
            //获取海报的宽高
            list($dst_w, $dst_h) = getimagesize($dst_path);

           // imagecopymerge($dst, $src, 20, 120, 0, 0, $src_w, $src_h, 100);
            imagecopymerge($dst, $src, ($dst_w-$src_w)/2, $dst_h-100-$src_h, 0, 0, $src_w, $src_h, 100);
            list($dst_w, $dst_h) = getimagesize($dst_path);
            imagepng($dst,$haibao);//生成图片并保存到服务器上 合成的海报
            imagedestroy($dst);
            imagedestroy($src);
            $haibao = substr($haibao,1);//去掉左边第一个小点
            $arr[‘msg‘] = $haibao;
            echo json_encode($arr);exit;
        }

    }

原文地址:https://www.cnblogs.com/zmdComeOn/p/11713500.html

时间: 2024-10-02 14:55:05

利用phpqrcode二维码生成类库合成带logo的二维码并且用合成的二维码生成海报(二)的相关文章

php利用Qrcode生成带logo二维码

1 , 下载phpqrcode类库 2, 引入qrcode库 我用的是TP框架,直接将下载好的qrcode库放入TP框架的核心框架下的Vendor文件下,vendor('phpqrcode.phpqrcode');  //引入 3,代码实例 vendor("phpqrcode.phpqrcode");  //引入phpqrcode库 $value = 'http://www.baidu.com';   //二维码内容 容错级别: L(QR_ECLEVEL_L,7%),M(QR_ECLE

利用phpqrcode二维码生成类库和imagecopymerge函数制拼接图片的经验

前期准备 引入phpqrcode类库(下载地址:https://sourceforge.net/projects/phpqrcode/) PHP开启GD扩展库支持 1.利用phpqrcode生成二维码: 原理分析: 下载下来的类文件是一个压缩包,包含很多文件和演示程序,我们只需要里边的phpqrcode.php 这一个文件就可以生成二维码了,它是一个多个类的集合文件,我们需要用到里边的QRcode类的png()方法: public static function png($text, $outf

HP QR Code (php二维码生成类库)

HP QR Code是一个PHP二维码生成类库,利用它可以轻松生成二维码,官网提供了下载和多个演示demo,查看地址: http://phpqrcode.sourceforge.net/ 下载官网提供的类库后,只需要使用phpqrcode.php就可以生成二维码了,当然您的PHP环境必须开启支持GD2. phpqrcode.php提供了一个关键的png()方法,其中参数$text表示生成二位的的信息文本:参数$outfile表示是否输出二维码图片 文件,默认否:参数$level表示容错率,也就是

jquery-qrcode客户端二维码生成类库扩展--融入自定义Logo图片

年后换了部门,现在主要的职责就是在网上卖精油,似乎这个就是传说中的网络营销. 跟着公司的MM们也了解不了少关于网络营销的知识,间接的了解到马云和刘强东都是些怎样龌龊的人,尽管之前也这样认为. 淘宝就不多说了,全球最大的中文假货销售平台(尽管淘宝没有打出全球中文等字样,可是其必须当之无愧).百度,当当等厚颜无耻之徒的明智之举就在于此,老外做的再大也很少会有直接支持中文的,因此他们都会在其名称前增加:“全球最大的中文”等字样,为自己镶金. 之前还一直比较力挺京东的,认为其根本自营根本不会销售假货,所

phpqrcode生成带logo的二维码图片

<?php //include_once('lib/QrReader.php'); //$qrcode = new QrReader('201708211144474410.jpg'); //图片路径 //$text = $qrcode->text(); //返回识别后的文本 //print_r($text); include "./phpqrcode.php"; //$url = "http://open.weixin.qq.com/qr/code/?usern

使用PHP生成二维码的两种方法(带logo图像)

一.利用Google API生成二维码 Google提供了较为完善的二维码生成接口,调用API接口很简单,以下是调用代码: $urlToEncode="http://www.jb51.net"; generateQRfromGoogle($urlToEncode); /** * google api 二维码生成[QRcode可以存储最多4296个字母数字类型的任意文本,具体可以查看二维码数据格式] * @param string $chl 二维码包含的信息,可以是数字.字符.二进制信息

PHP生成带logo图像二维码的两种方法

本文主要和大家分享PHP生成带logo图像二维码的两种方法,主要以文字和代码的形式和大家分享,希望能帮助到大家. 一.利用Google API生成二维码Google提供了较为完善的二维码生成接口,调用API接口很简单,以下是调用代码: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 $urlToEncode="http://www.php.cn"; generateQRfromGoogle($urlToEncode); /**

PHP在线生成带LOGO的二维码

PHP生成二维码的实例程序,网上有很多二维码生成程序,不过都是生成标准的二维码,最近的一个项目要求生成中间是小图标(LOGO)的二维码,后经不断查询资料,终于做出来了,主要核心是使用了国外的一个开源类库--QRCODE,生成确实方便,希望能为大家提供一份参考. 使用注意:在生成带lOGO的二维时:1.请将需要显示在二维码中的LOGO图像命名为emwlogo.gif,格式:gif,放在与ewmlogo.php文件同级的目录下2.请在文本框中输入正确的网址,若网址格式不对,则生成的二维码无效. 在线

PHP 使用QR code库生成带LOGO图像的二维码

这几天的项目中要用到生成二维码的功能,而且老板要求二维码中间有一个LOGO,以往都是生成那种标准的,也就是比较纯净的二维码,现在老板的这个要求,一时让我无头绪,不过经过努力查找资料,发现PHP中有一个类库叫php qrcode,用它来生成这种二维码很是方便,于是就研究下,终于搞定了,下面把代码分享给大家.先来看看生成的效果: 具体的PHP代码,先调用phpqrcode.php,然后看代码里的注释,然后把 www.codesc.net这个网址修改成你自己的,还有logo图片替换成你的,再修改其它的