Laravel 產生二維碼的方法

來源:互聯網
上載者:User
這篇文章主要介紹了關於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 方法必須第一個被設定, 其它的設定如: size, color, backgroundColor, 和 margin 的設定必須在它的後邊.

支援 PNG,EPS,SVG 三種格式,設定方式如下:

QrCode::format('png');  //Will return a PNG imageQrCode::format('eps');  //Will return a EPS imageQrCode::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;    }

以上就是本文的全部內容,希望對大家的學習有所協助,更多相關內容請關注topic.alibabacloud.com!

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.