Thinkphp3.2.3整合phpqrcode生成帶logo的二維碼
Thinkphp中沒有二維碼相關(guān)的庫,因此我們可以通過整合phpqrcode來完成生成二維碼的功能。
下載phpqrcode
下載地址:http://phpqrcode.sourceforge.net/
整合到Thinkphp框架
在“ThinkPHP\Library\Vendor\”下新建目錄phpqrcode,將壓縮包內(nèi)容解壓到該文件夾下。
調(diào)用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的二維碼
先調(diào)用phpqrcode生成一張二維碼,再使用php的image相關(guān)函數(shù)將logo圖片添加到生成的二維碼圖片上。
include 'phpqrcode.php'; $value = 'http://www.cnblogs.com/txw1958/'; //二維碼內(nèi)容 $errorCorrectionLevel = 'L';//容錯級別 $matrixPointSize = 6;//生成圖片大小 //生成二維碼圖片 QRcode::png($value, 'qrcode.png', $errorCorrectionLevel, $matrixPointSize, 2); $logo = 'logo.png';//準(zhǔn)備好的logo圖片 $QR = 'qrcode.png';//已經(jīng)生成的原始二維碼圖 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; //重新組合圖片并調(diào)整大小 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">';
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Zend Studio 實(shí)用快捷鍵一覽表(精心整理)
以下是小編精心整理的Zend Studio實(shí)用快捷鍵。很有用哦!需要的朋友可以過來參考下2013-08-08PHP5.0~5.6 各版本兼容性cURL文件上傳功能實(shí)例分析
這篇文章主要介紹了PHP5.0~5.6 各版本兼容性cURL文件上傳功能,結(jié)合實(shí)例形式分析了php各個常見版本進(jìn)行curl文件上傳操作的相關(guān)實(shí)現(xiàn)技巧與注意事項(xiàng),需要的朋友可以參考下2018-05-05php+iframe 實(shí)現(xiàn)上傳文件功能示例
這篇文章主要介紹了php+iframe 實(shí)現(xiàn)上傳文件功能,結(jié)合實(shí)例形式分析了PHP通過動態(tài)的創(chuàng)建iframe實(shí)現(xiàn)上傳文件的具體步驟、實(shí)現(xiàn)方法與操作注意事項(xiàng),需要的朋友可以參考下2020-03-03php對大文件進(jìn)行讀取操作的實(shí)現(xiàn)代碼
在php中,對于文件的讀取時,最快捷的方式莫過于使用一些諸如file、file_get_contents之類的函數(shù),簡簡單單的幾行代碼就能很漂亮的完成我們所需要的功能。但當(dāng)所操作的文件是一個比較大的文件時,這些函數(shù)可能就顯的力不從心, 下面將從一個需求入手來說明對于讀取大文件時,常用的操作方法2013-01-01詳解PHP執(zhí)行定時任務(wù)的實(shí)現(xiàn)思路
這篇文章主要介紹了詳解PHP執(zhí)行定時任務(wù)的幾種實(shí)現(xiàn)思路,PHP的定時任務(wù)功能必須通過和其他工具結(jié)合才能實(shí)現(xiàn),們就來深入的解析幾種常見的php定時任務(wù)的思路2015-12-12