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);//生成二维码
注:如果标签的中文乱码的话,可以引入中文字体。
生成的效果图(略)
如果是本地composer,copy到线上的。
要复制
vender/composer,
vender/bacon,
vender/endroid,
vender/khanamiryan,
vender/myclabs,
vender/paragonie
本文参考:
http://www.thinkphp.cn/topic/48510.html
http://www.thinkphp.cn/topic/40300.html
现在推荐大家使用 endroid/qrcode,
github地址:https://github.com/endroid/QrCode