Laravel 生成二維碼


(本實例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 方法必須第一個被設置, 其它的設置如: sizecolorbackgroundColor, 和 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;
    }

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM