thinkphp下使用qrcode类制作二维码

<?php
        /** 
     * 地址:http://phpqrcode.sourceforge.net/
     * @param string $url 要生成的链接 
     * @param string $logo 中间图片地址 
     * @param string $dir 保存图片的绝对路径 
     */ 
    function qrcode($url='www.hao123.com/',$logo='./assets/img/gm.jpg'){
        Loader::import('phpqrcode.phpqrcode'); 
        $value = $url; //二维码内容 链接
        $errorCorrectionLevel = 'M';//容错级别 
        $matrixPointSize = 8;//生成图片大小 
        $dir=ROOT_PATH . 'public'.DS.'uploads'.DS.'qrcode'.DS; //输出图片的路径
        $qr_dir= $dir.'qrcode.png';//原始二维码路径       
        //生成二维码图片 
        \QRcode::png($value,  $qr_dir, $errorCorrectionLevel, $matrixPointSize, 2); 
        $logo = $logo;//准备好的logo图片 
        $QR =  $qr_dir;//已经生成的原始二维码图 
        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); 
        } 
        //输出图片 
        $he_dir= $dir.'helloweba.png';//重组图片路径
        imagepng($QR, $he_dir);

        $url_display=$he_dir;
        $this->view->assign('url_display',$url_display);
        return $this->view->fetch();

    }

相关推荐