1. 程式人生 > >Laravel 生成二維碼的方法

Laravel 生成二維碼的方法

(本例項laravel 版本 >=5.6, PHP版本 >=7.01、首先,新增 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 方法必須第一個被設定, 其它的設定如: size, color, backgroundColor, 和 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;

   }