美文网首页Laravel学习
Laravel 生成二维码插件使用

Laravel 生成二维码插件使用

作者: Mr_Z_Heng | 来源:发表于2020-05-19 15:24 被阅读0次

导语:

    喜欢laravel的开发者都知道,laravel的特点就是可使用的三方扩展众多,参与开发的不仅仅是官方开发团队,更多的是它的爱好者们。这里记录一下他的二维码生成的三方扩展包的使用。

一、扩展包的安装引入:

使用 composer require simplesoftwareio/simple-qrcode 1.3.* 安装

二、注册服务提供者和添加门面别名:
在 config/app.php 中注册服务提供者 (放到provider中)

SimpleSoftwareIO\QrCode\QrCodeServiceProvider::class,

继续在 config/app.php 中添加门面(放入aliases中)

 'QrCode' => SimpleSoftwareIO\QrCode\Facades\QrCode::class

经过以上两个步骤,在 laravel 中就可以使用 QrCode 来生成二维码了。实际中通过 composer 加载的包都是以上步骤,门面可以选择不添加。

三、使用QrCode输出二维码:

定义好路由之后,测试下。可以使用门面,也可以实例化,都是一样的。完整代码查看GitHub

直接生成二维码

QrCode::generate(date('Y-m-d H:i:s'));

这里生成的是svg格式的二维码,可以直接PHP 用echo输出 也可以赋值给前端的参数输出到页面中,此时输出后你会发现尺寸太小了,那么可以用内置的方法size设置尺寸,例如:

QrCode::size(200)->generate(date('Y-m-d H:i:s'));

同样也可以在视图中直接显示二维码:

<div class="visible-print text-center">

    {!! QrCode::size(100)->generate(Request::url()); !!}

    <p>Scan me to return to the original page.</p>

</div>

以上使用的方式均为动态生成二维码的方式,下面说一下生成静态码(图片文件)的方式

$qr->generate('hello world', $path.'qr1.svg');

第二个参数就是图片保存的路径,默认格式为svg,如需其他格式可以使用下边所用的format方法修改:

 $qr->format('png')->generate('hello world', $path.'qr2.png');

同时还有一些其他方法,例如修改颜色(color)、边距(margin)、背景色(backgroundColor)、编码方式(encoding)等:

QrCode::format('png')->size(100)->color(255,0,255)->backgroundColor(255,255,0)->margin(100)->generate('Hello,LaravelAcademy!',public_path('qrcodes/qrcode.png'));

如果需要在二维码中心位置设置一个头像图片,可以试用merge方法进行图片的合成,第一个参数为头像图片,第二个为百分比

QrCode::format('png')->size(200)->merge('/public/qrcodes/laravel.png',.15)->generate('LaravelAcademy',public_path('qrcodes/qrcode.png'));

二维码+背景图生成海报图

        $bg = imagecreatefrompng(public_path('qrcodes/bg.png'));    //这里是背景图的相对路径

        $qrcode = imagecreatefrompng(public_path('qrcodes/abc.png'));    //这里是上边产生的二维码

        imagecopyresampled($bg, $qrcode, 283, 1061, 0, 0, 185, 185, imagesx($qrcode), imagesy($qrcode));    //两个图片合成

        参数解析:$bg:背景图; $qrcode:二维码;

        283:二维码的横坐标    1061:二维码的纵坐标    

      (185,185):二维码在背景图上所占用的宽度和高度     

        imagesx($qrcode) 二维码显示的宽度  imagesy($qrcode)二维码显示的高度

        imagepng($bg, public_path('haibao/' . strtoupper($data['openid']) . '.png'));    //保存海报文件

相关文章

  • Laravel 生成二维码插件使用

    导语: 喜欢laravel的开发者都知道,laravel的特点就是可使用的三方扩展众多,参与开发的不仅仅是官方开发...

  • react生成二维码

    1. 安装qrcode.react插件 2. 使用qrcode.react插件生成二维码 2.1 引用 2.2 使用

  • QCcode

    生成二维码,可以使用[jQuery]的qrcode插件。但是使用[HTML5]canvas或svg生成,在有的手机...

  • react 使用qrcode.react插件生成二维码并下载

    1. 安装qrcode.react插件 2. 使用qrcode.react插件生成二维码 引入 使用 3. 下载二...

  • 生成二维码,并且下载改图片

    一:使用插件生成二维码 安装插件 在html中引用组件

  • 常用命令

    代码提示插件:barryvdh/laravel-ide-helper使用方法:重新生成model文件(自动添加注释...

  • vue自动生成二维码并下载本地

    vue生成二维码图片,这里使用的是qrcode.js 这个插件 1、下载插件 npm install --save...

  • 二维码生成和扫描

    第一部分:二维码生成 关于二维码的生成有很多第三方插件,本次demo主要使用libqrencode来实现二维码生成...

  • jquery动态生成二维码

    需求:根据当前的网址(携带的参数不一样),生成二维码 方案:使用jq二维码生成插件jquery.qrcode.mi...

  • JavaScript QrCode

    一、简介: 使用JavaScript插件生成二维码,源码地址:https://github.com/jeromee...

网友评论

    本文标题:Laravel 生成二维码插件使用

    本文链接:https://www.haomeiwen.com/subject/mzkbohtx.html