簡單的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'
]);