转自:https://www.cnblogs.com/sgm4231/p/9924035.html
(本实例laravel 版本 >=5.6, PHP版本 >=7.0)
1、首先,添加 QrCode 包添加到你的 composer.json 文件的 require 里:
"require": {
"simplesoftwareio/simple-qrcode": "~2"
}
然后,运行 composer update.
2、基本使用 使用QrCode的Generator非常方便. 多数情况下只要这样: QrCode::generate('Make me into a QrCode!'); 这就能创建一个扫描后显示内容是:"Make me into a QrCode!" 的二维码了. 3、自己定义输出图片格式 QrCode Generator 默认输出SVG格式的图片. 注意! format 方法必须第一个被设置, 其它的设置如: size, color, backgroundColor, 和 margin 的设置必须在它的后边. 支持 PNG,EPS,SVG 三种格式,设置方式如下: QrCode::format('png'); //Will return a PNG image QrCode::format('eps'); //Will return a EPS image QrCode::format('svg'); //Will return a SVG image 4、尺寸设置 QrCode 的 Generator 默认返回可能最小像素单位的二维码. 你可以使用 size 方法去设置它的尺寸.下方是设置像素尺寸的实例: QrCode::size(100);
5、颜色设置 注意改变颜色后,可能会导致某些设备难以识别. 颜色设置的格式必须是RBG格式. 设置方式如下: QrCode::color(255,0,255); 设置背景色的方法也是一样的: QrCode::backgroundColor(255,255,0); 6、边距设置 也支持设置边距. 设置方式如下: QrCode::margin(100); 7、加LOGO图 merge 方法可以让QrCode为生成结果加上LOGO图片. 下方是常见的为二维码加LOGO图片的使用方式.
QrCode::merge($filename, $percentage, $absolute);
//生成一个中间有LOGO图片的二维码 QrCode::format('png')->merge('path-to-image.png')->generate(); //生成一个中间有LOGO图片的二维码,且LOGO图片占整个二维码图片的30%. QrCode::format('png')->merge('path-to-image.png', .3)->generate(); //使用绝对路径的LOGO图片地址创建二维码,LOGO图片占整个二维码图片的30%. QrCode::format('png')->merge('http://www.google.com/someimage.png', .3, true)->generate();
merge 方法当前只支持PNG格式的图片 默认使用相对于应用程序的根路径,把第三个参数设置为 true 就能切换到使用绝对路径
如下是一个完整的小demo:
/**
* @param int $size 此参数为二维码的尺寸,是像素值
* @param string $info 此参数为二维码的内容,内容为文字时,扫描展示的是此文字;
* 内容为http://或https://开头的网址时,打开的就是此网址
* @return mixed
*
*/
public static function createQrCode($size,$info) { $size = $size ?: 400; $info = $info ?: "success"; $res = QrCode::size($size)->color(50,255,100)->generate($info); return $res; }