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;
    }
相關文章
相關標籤/搜索