TP5使用二维码PHP QR Code生成带LOGO和不带LOGO的二维码

时间:2024-03-18 17:44:55

首先下载这个类:http://phpqrcode.sourceforge.net/

然后,把下载的文件放到thinkphp/library/Vendor下面,(注意:Vendor的首字母大写。没有的话创建一个文件夹。)

TP5使用二维码PHP QR Code生成带LOGO和不带LOGO的二维码
1.jpg

接着在根目录下vendor下面上传phpqrcode。

然后再需要调用的方法里面调用就可以了:

 public function getWchatQrcode($users_id=1){ 
        //带LOGO
        // $url = 'http://mydd.0317cn.net/index.php/Home/Logo/res/users_id/'.$users_id; //二维码内容  
        // $errorCorrectionLevel = 'L';//容错级别  
        // $matrixPointSize = 9;//生成图片大小  
        // //生成二维码图片  
        // Vendor('phpqrcode.phpqrcode');
        // $object = new \QRcode();
        // $ad = 'erweima/'.$users_id.'.jpg';
        // $object->png($url, $ad, $errorCorrectionLevel, $matrixPointSize, 2);  
        // $logo = 'erweima/2.jpg';//准备好的logo图片 
        // $QR = 'erweima/'.$users_id.'.jpg';//已经生成的原始二维码图  

        // 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, $from_width, $from_width, 0, 0, $logo_qr_width,  
        //   $logo_qr_height, $logo_width, $logo_height);  
        // }
        //输出图片  带logo图片
        // imagepng($QR, 'erweima/'.$users_id.'.png'); 
        

        //不带LOGO
        Vendor('phpqrcode.phpqrcode');
        //生成二维码图片
        $object = new \QRcode();
        $url='http://www.shouce.ren/';//网址或者是文本内容
        $level=3;
        $size=4;
        $ad = 'erweima/'.$users_id.'.jpg';
        $errorCorrectionLevel =intval($level) ;//容错级别
        $matrixPointSize = intval($size);//生成图片大小
        $object->png($url,  $ad, $errorCorrectionLevel, $matrixPointSize, 2);  
         
    }

这是带LOGO和不带LOGO的demo。
然后URL访问这个方法,生成一个二维码:

TP5使用二维码PHP QR Code生成带LOGO和不带LOGO的二维码
2.jpg