Thinkphp3.2.3整合phpqrcode產生帶logo的二維碼_php技巧

來源:互聯網
上載者:User

Thinkphp中沒有二維碼相關的庫,因此我們可以通過整合phpqrcode來完成組建二維碼的功能。

下載phpqrcode

下載地址:http://phpqrcode.sourceforge.net/

整合到Thinkphp架構

在“ThinkPHP\Library\Vendor\”下建立目錄phpqrcode,將壓縮包內容解壓到該檔案夾下。

調用phpqrcode產生二維碼

在IndexController控制器下添加如下方法:

public function qrcode($url="www.baidu.com",$level=3,$size=4)  {       Vendor('phpqrcode.phpqrcode');       $errorCorrectionLevel =intval($level) ;//容錯層級        $matrixPointSize = intval($size);//產生圖片大小        //產生二維碼圖片        $object = new \QRcode();       $object->png($url, false, $errorCorrectionLevel, $matrixPointSize, 2);    }

訪問:http://127.0.0.1/Index/qrcode即可看到產生的二維碼。

產生帶logo的二維碼

先調用phpqrcode產生一張二維碼,再使用php的image相關函數將logo圖片添加到產生的二維碼圖片上。

include 'phpqrcode.php';  $value = 'http://www.cnblogs.com/txw1958/'; //二維碼內容  $errorCorrectionLevel = 'L';//容錯層級  $matrixPointSize = 6;//產生圖片大小  //產生二維碼圖片  QRcode::png($value, 'qrcode.png', $errorCorrectionLevel, $matrixPointSize, 2);  $logo = 'logo.png';//準備好的logo圖片  $QR = 'qrcode.png';//已經產生的原始二維碼圖  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);  }  //輸出圖片  imagepng($QR, 'helloweixin.png');  echo '<img src="helloweixin.png">';

以上就是本文的全部內容,希望對大家的學習有所協助,也希望大家多多支援雲棲社區。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.