天天看點

thinkphp5 生成二維碼在模闆中顯示

使用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,如需轉載請自行聯系原作者