Laravel 生成二维码

(本实例laravel 版本 >=5.6, PHP版本 >=7.0)laravel

一、首先,添加 QrCode 包添加到你的 composer.json 文件的 require 里:json

"require": {
    "simplesoftwareio/simple-qrcode": "~2"
}

而后,运行 composer update .composer

二、基本使用

使用QrCode的Generator很是方便. 多数状况下只要这样:svg

QrCode::generate('Make me into a QrCode!');

这就能建立一个扫描后显示内容是:"Make me into a QrCode!" 的二维码了.ui

三、本身定义输出图片格式

QrCode Generator 默认输出SVG格式的图片.google

注意! format 方法必须第一个被设置, 其它的设置如: sizecolorbackgroundColor, 和 margin 的设置必须在它的后边.spa

支持 PNG,EPS,SVG 三种格式,设置方式以下:code

QrCode::format('png');  //Will return a PNG image
QrCode::format('eps');  //Will return a EPS image
QrCode::format('svg');  //Will return a SVG image

四、尺寸设置orm

QrCode 的 Generator 默认返回可能最小像素单位的二维码.blog

 你可使用 size 方法去设置它的尺寸.下方是设置像素尺寸的实例:

QrCode::size(100);

五、颜色设置

注意改变颜色后,可能会致使某些设备难以识别.

颜色设置的格式必须是RBG格式. 设置方式以下:

QrCode::color(255,0,255);

设置背景色的方法也是同样的:

QrCode::backgroundColor(255,255,0);

六、边距设置

也支持设置边距. 设置方式以下:

QrCode::margin(100);

七、加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;
    }
相关文章
相关标签/搜索