url 生成二維碼圖片

james_xue發表於2018-11-08

簡單的QrCode是一個易於使用的包裝,適用於流行的Laravel框架,基於Bacon / BaconQrCode提供的出色工作。我們為Laravel使用者建立了一個熟悉且易於安裝的介面。

我們正在尋找使用阿拉伯語,西班牙語,法語,韓語或日語的使用者來幫助翻譯此文件。如果您能夠翻譯,請建立拉取請求!

首先,將Simple QrCode包新增到您require的composer.json檔案中:

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

接下來,執行該composer update命令。

Laravel <= 5.4
註冊在您config/app.php的內providers陣列。

SimpleSoftwareIO\QrCode\QrCodeServiceProvider::class

Laravel <= 5.4
最後,在陣列中的config/app.php配置檔案中註冊aliases。

'QrCode' => SimpleSoftwareIO\QrCode\Facades\QrCode::class

用法

使用QrCode Generator非常簡單。最基本的語法是:

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

這將使一個QrCode說“讓我成為一個QrCode!”

Generate 用於製作QrCode。

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

當心!如果在鏈中使用,則必須最後呼叫此方法。
該generate方法有第二個引數,它將接受儲存QrCode的檔名和路徑。

QrCode::generate('Make me into a QrCode!', '../public/qrcodes/qrcode.svg');

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

QrCode Generator預設返回可能的最小尺寸(以畫素為單位)來建立QrCode。

您可以使用該size方法更改QrCode的大小。只需使用以下語法指定所需的大小(以畫素為單位):

QrCode::size(100);

更改QrCode的顏色時要小心。有些讀者在閱讀彩色QrCodes時非常困難。

所有顏色必須以RGB(紅綠藍)表示。您可以使用以下命令更改QrCode的顏色:

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

還支援背景顏色變化並以相同方式表達。

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

還支援更改QrCode周圍邊距的功能。只需使用以下語法指定所需的邊距:

QrCode::margin(100);

更改糾錯級別很容易。只需使用以下語法:

QrCode::errorCorrection('H');

以下是該errorCorrection方法的受支援選項。

大號  可以恢復7%的程式碼字。
中號  可以恢復15%的程式碼字。
Q   可以恢復25%的程式碼字。
H   可以恢復30%的程式碼字。

使用的糾錯越多; QrCode變得越大,它可以儲存的資料越少。閱讀有關糾錯的更多資訊。

更改用於構建QrCode的字元編碼。預設情況下ISO-8859-1被選為編碼器。閱讀有關字元編碼的更多資訊您可以將其更改為以下任何一項:

QrCode::encoding('UTF-8')->generate('Make me a QrCode with special symbols ♠♥!!');

字元編碼器

ISO-8859-1
ISO-8859-2
ISO-8859-3
ISO-8859-4
ISO-8859-5
ISO-8859-6
ISO-8859-7
ISO-8859-8
ISO-8859-9
ISO-8859-10
ISO-8859-11
ISO-8859-12
ISO-8859-13
ISO-8859-14
ISO-8859-15
ISO-8859-16
SHIFT-JIS
WINDOWS-1250
WINDOWS-1251
WINDOWS-1252
WINDOWS-1256
UTF-16BE
UTF-8
ASCII
GBK
EUC-KR

錯誤Could not encode content to ISO-8859-1意味著正在使用錯誤的字元編碼型別。UTF-8如果您不確定,我們建議您。

該merge方法通過QrCode合併影像。這通常用於在QrCode中放置徽標。

QrCode::merge($filename, $percentage, $absolute);

//Generates a QrCode with an image centered in the middle.
QrCode::format('png')->merge('path-to-image.png')->generate();

//Generates a QrCode with an image centered in the middle.  The inserted image takes up 30% of the QrCode.
QrCode::format('png')->merge('path-to-image.png', .3)->generate();

//Generates a QrCode with an image centered in the middle.  The inserted image takes up 30% of the QrCode.
QrCode::format('png')->merge('http://www.google.com/someimage.png', .3, true)->generate();

該merge方法目前僅支援PNG。如果$absolute設定為,則檔案路徑相對於應用程式基本路徑false。將此變數更改true為使用絕對路徑。

在使用該merge方法時,您應該使用高階別的錯誤糾正,以確保QrCode仍然可讀。我們建議使用errorCorrection('H')。

合併二進位制字串
該mergeString方法可用於實現與merge呼叫相同的方法,但它允許您提供檔案的字串表示而不是檔案路徑。這在使用Storage立面時很有用。它的介面非常類似於merge通話。

QrCode::mergeString(Storage::get('path/to/image.png'), $percentage);

//Generates a QrCode with an image centered in the middle.
QrCode::format('png')->mergeString(Storage::get('path/to/image.png'))->generate();

//Generates a QrCode with an image centered in the middle.  The inserted image takes up 30% of the QrCode.
QrCode::format('png')->mergeString(Storage::get('path/to/image.png'), .3)->generate();

與普通merge呼叫一樣,此時僅支援PNG。這同樣適用於糾錯,建議使用高電平。

什麼是幫手?
幫助程式是一種建立QrCodes的簡便方法,可以使讀者在掃描時執行某個操作。

這個助手生成一個可掃描的比特幣來傳送付款。更多資訊

QrCode::BTC($address, $amount);

//Sends a 0.334BTC payment to the address
QrCode::BTC('bitcoin address', 0.334);

//Sends a 0.334BTC payment to the address with some optional arguments
QrCode::size(500)->BTC('address', 0.0034, [
    'label' => 'my label',
    'message' => 'my message',
    'returnAddress' => 'https://www.returnaddress.com'
]);

此助手生成一個電子郵件qrcode,可以填寫電子郵件地址,主題和正文。

QrCode::email($to, $subject, $body);

//Fills in the to address
QrCode::email('foo@bar.com');

//Fills in the to address, subject, and body of an e-mail.
QrCode::email('foo@bar.com', 'This is the subject.', 'This is the message body.');

//Fills in just the subject and body of an e-mail.
QrCode::email(null, 'This is the subject.', 'This is the message body.');

此幫助程式生成手機可以讀取的緯度和經度,並在Google地圖或類似應用程式中開啟該位置。

QrCode::geo($latitude, $longitude);
QrCode::geo(37.822214, -122.481769);

該助手生成一個可以掃描的QrCode,然後撥打一個號碼。

QrCode::phoneNumber($phoneNumber);
QrCode::phoneNumber('555-555-5555');
QrCode::phoneNumber('1-800-Laravel');

該幫助程式生成可以使用傳送到地址和訊息正文預填充的SMS訊息。

QrCode::SMS($phoneNumber, $message);

//Creates a text message with the number filled in.
QrCode::SMS('555-555-5555');

//Creates a text message with the number and message filled in.
QrCode::SMS('555-555-5555', 'Body of the message');

這個助手可以製作可掃描的QrCodes,可以將手機連線到WiFI網路。

QrCode::wiFi([
    'encryption' => 'WPA/WEP',
    'ssid' => 'SSID of the network',
    'password' => 'Password of the network',
    'hidden' => 'Whether the network is a hidden SSID or not.'
]);

//Connects to an open WiFi network.
QrCode::wiFi([
    'ssid' => 'Network Name',
]);

//Connects to an open, hidden WiFi network.
QrCode::wiFi([
    'ssid' => 'Network Name',
    'hidden' => 'true'
]);

//Connects to an secured, WiFi network.
QrCode::wiFi([
    'ssid' => 'Network Name',
    'encryption' => 'WPA',
    'password' => 'myPassword'
]);

不要輕易放棄。學習成長的路上,我們長路漫漫,只因學無止境

Don't give up easily. On the way of learning and growing up, we have a long way to go, just because there is no end to learning.

相關文章