SimpleQrCode 扩展包生成二维码使用记录
静心,给脑子不好的自己记录......
努力, 给未来的自己......
感谢此文章 https://blog.csdn.net/u012767761/article/d...
安装SimpleQrCode扩展包的两种方法
方法一:在项目根目录下使用命令安装依赖包
composer require simplesoftwareio/simple-qrcode 1.3.*
方法二:在composer.json文件的require添加QrCode包
"require": {
"simplesoftwareio/simple-qrcode": "1.3.*"
}
运行SimpleQrCode扩展包
composer install
配置
添加Service Provider
// 在config/app.php 注册服务提供者:
SimpleSoftwareIO\QrCode\QrCodeServiceProvider::class
添加Aliases
// 在 config/app.php 添加 QrCode 门面:
'QrCode' => SimpleSoftwareIO\QrCode\Facades\QrCode::class
语法
QrCode::format('png') //format自定义输出图片格式,必须第一个被设置,支持 PNG,EPS,SVG 三种格式
->size(200) //设置尺寸
->color(255,0,255) //颜色设置的格式必须是RBG格式
->backgroundColor(125,245,0) //设置背景色
->encoding('UTF-8') //指定中文编码
->margin(100) //边距设置
->errorCorrection("L") //容错级别设置(L<M<Q<H容错级别越高,二维码里能存储的数据越少)
->merge($png,.3,true) //Logo或者头像放到二维码图片中($png是Logo或者头像的路径与图片名;.3:LOGO图片占整个二维码图片的30%;true:绝对路径的LOGO图片地址)。merge 方法当前只支持PNG格式的图片 默认使用相对于应用程序的根路径,把第三个参数设置为 true 就能切换到使用绝对路径
->generate($text,$filename); //创建二维码($text数据,$filename保存的路径与图片名)
创建扫一下能连接WIFI的二维码
QrCode::wiFi([
'encryption' => 'WPA/WEP',
'ssid' => '网络的SSID',
'password' => '网络的密码',
'hidden' => '是否是一个隐藏SSID的网络'
]);
//连接一个开放的网络
QrCode::wiFi([
'ssid' => '网络名称',
]);
//连接一个开放并隐藏的网络.
QrCode::wiFi([
'ssid' => '网络名称',
'hidden' => 'true'
]);
//连接一个加密的WIFI网络.
QrCode::wiFi([
'ssid' => '网络名称',
'encryption' => 'WPA',
'password' => '密码'
]);
实例使用
laravel视图下使用
<div >
{!! QrCode::size(200)->generate(Request::url()); !!}
<p>扫描我返回到原始页。</p>
</div>
laravel控制器中下使用
use Illuminate\Support\Facades\Storage;
use QrCode;
use Ramsey\Uuid\Uuid;
public function qrCode(){
//随机二维码图片名
$fileName = Uuid::uuid4()->toString() . '.png';
//二维码图片路径
$filename=storage_path('app/public/qrcode').'/'.$fileName;
//base64加密数据
$text=base64_encode('数据');
//创建二维码并保存二维码图片
QrCode::format('png')
->size(200)
->encoding('UTF-8')
->generate($text,$filename);
return Storage::disk('qrcode')->url($fileName);
}
laravel之外使用
use SimpleSoftwareIO\QrCode\BaconQrCodeGenerator;
//实例化 BaconQrCodeGenerator 类
$qrcode = new BaconQrCodeGenerator;
$qrcode->size(500)->generate('Welcome to LaravelAcademy!');
常见错误
1.若抛出 Could not encode content to ISO-8859-1 意味着使用了错误的编码。建议你使用 UTF-8
本作品采用《CC 协议》,转载必须注明作者和本文链接