使用php qrcode類庫
composer require endroid/qrcode 導入phpqrcode類庫
2. 類庫使用
a.$qrCode = new \Endroid\QrCode\QrCode();//執行個體化
b.設定生成二維碼生成的各項參數
c.參數解析:
$setVersion = $qrCode -> setVersion(5);//37*37
//設定版本号,QR碼符号共有40種規格的矩陣,從21x21(版本1),到177x177(版本40),每一版本符号比前一版本 每邊增加4個子產品。
$setErrorCorrection = $qrCode -> setErrorCorrection(2);//容錯級别,2的容錯率:30%
容錯級别:0:15%,1:7%,2:30%,3:25%
$setModuleSize = $qrCode -> setModuleSize(2);//設定QR碼子產品大小
$setImageType = $qrCode -> setImageType('png');//設定二維碼儲存類型
$logo = 'uploads/accountPictrue/logo1.jpg';//logo圖檔
$setLogo = $qrCode -> setLogo($logo);//二維碼中間的圖檔
$setLogoSize = $qrCode -> setLogoSize(360);//設定logo大小
$value = 'https://www.dongtianjr.com'; //二維碼内容
$setText = $qrCode -> setText($value);//設定文字以隐藏QR碼。
$setSize = $qrCode -> setSize(1024);//二維碼生成後的大小
$setPadding = $qrCode -> setPadding(48);//設定二維碼的邊框寬度,預設16
$setDrawQuietZone = $qrCode -> setDrawQuietZone(true);//設定子產品間距
$setDrawBorder = $qrCode -> setDrawBorder(true);//給二維碼加邊框。。。
$text = 'XX銷售,XX公司!一二';
$setLabel = $qrCode -> setLabel($text);//在生成的圖檔下面加上文字
$setLabelFontSize = $qrCode -> setLabelFontSize(39);//生成的文字大小、
$lablePath = 'uploads/qr/qr.TTF';
$setLabelFontPath = $qrCode -> setLabelFontPath($lablePath);//設定标簽字型
$color_foreground = ['r' => 108, 'g' => 182, 'b' => 229, 'a' => 0];
$setForegroundColor = $qrCode -> setForegroundColor($color_foreground);//生成的二維碼的顔色
$color_background = ['r' => 213, 'g' => 241, 'b' => 251, 'a' => 0];
$setBackgroundColor = $qrCode -> setBackgroundColor($color_background);//生成的圖檔背景顔色
$flieName = 'liukelk.jpg';//二維碼的名字
$qrCode -> save($flieName);//生成二維碼
注:如果标簽的中文亂碼的話,可以引入中文字型。
生成的效果圖(略)
<a href="http://www.thinkphp.cn/Uploads/editor/2017-05-25/592673416d33c.jpg" target="_blank"></a>
<a href="http://www.thinkphp.cn/Uploads/editor/2017-05-25/5926734f79c93.png" target="_blank"></a>
如果是本地composer,copy到線上的。
要複制
vender/composer,
vender/bacon,
vender/endroid,
vender/khanamiryan,
vender/myclabs,
vender/paragonie
本文參考:
<a href="http://www.thinkphp.cn/topic/48510.html" target="_blank">http://www.thinkphp.cn/topic/48510.html</a>
<a href="http://www.thinkphp.cn/topic/48510.html" target="_blank">http://www.thinkphp.cn/topic/40300.html</a>
<a href="http://www.thinkphp.cn/topic/48510.html" target="_blank"></a>
現在推薦大家使用 endroid/qrcode,
本文轉自phpervip 51CTO部落格,原文連結:http://blog.51cto.com/phpervip/1975839,如需轉載請自行聯系原作者