PHP生成中間帶LOGO圖像的二維碼
這是一個二維碼生成器,它可以幫助你以簡單的方式生成二維碼,并且可以設(shè)置二維碼中間的小logo圖標。使用非常簡單,并且提供了一個Symfony包,可以快速整合到你的項目中。
查看演示 下載源碼
查看原文:https://www.helloweba.com/view-blog-455.html,即可下載源碼。
安裝
使用 Composer 來安裝這個庫。
- composer require endroid/qrcode
基本用法
簡單幾行代碼,就可以生成一個普通的二維碼:
- require_once('vendor/autoload.php');
- use Endroid\QrCode\QrCode;
- $qrCode = new QrCode('Helloweba歡迎您!');
- header('Content-Type: '.$qrCode->getContentType());
- echo $qrCode->writeString();
高級用法
QrCode提供了許多方法參數(shù)設(shè)置,可以滿足各種需求場景。比如需要生成中間帶logo的二維碼,需要保存二維碼圖片等。請看以下代碼:
- require_once('vendor/autoload.php');
- use Endroid\QrCode\ErrorCorrectionLevel;
- use Endroid\QrCode\LabelAlignment;
- use Endroid\QrCode\QrCode;
- use Symfony\Component\HttpFoundation\Response;
- // Create a basic QR code
- $qrCode = new QrCode('Life is too short to be generating QR codes');
- $qrCode->setSize(300);
- // Set advanced options
- $qrCode
- ->setWriterByName('png')
- ->setMargin(10)
- ->setSize(200)
- ->setEncoding('UTF-8')
- ->setErrorCorrectionLevel(ErrorCorrectionLevel::HIGH)
- ->setForegroundColor(['r' => 0, 'g' => 0, 'b' => 0])
- ->setBackgroundColor(['r' => 255, 'g' => 255, 'b' => 255])
- ->setLabel('手機掃一掃', 12)
- ->setLogoPath('logo.png')
- ->setLogoWidth(64)
- ->setValidateResult(false)
- ;
- // Directly output the QR code
- header('Content-Type: '.$qrCode->getContentType());
- echo $qrCode->writeString();
- // Save it to a file
- //$qrCode->writeFile(__DIR__.'/qrcode.png');
- // Create a response object
- $response = new Response($qrCode->writeString(), Response::HTTP_OK, ['Content-Type' => $qrCode->getContentType()]);
運行以上代碼,你會發(fā)現(xiàn)生成了一個中間,以上代碼中:
setSize() :設(shè)置二維碼圖片的尺寸,數(shù)字整型,默認長寬是300px的圖片。
setErrorCorrectionLevel() :設(shè)置糾錯級別,可以是 LOW , MEDIUM , QUARTILE , HIGH
setForegroundColor() :設(shè)置前置色,rgb,默認黑色
setBackgroundColor() :設(shè)置背景色,rgb,默認白色
setLabel() :設(shè)置文字說明
setLogoPath() :設(shè)置中間logo路徑地址
setLogoWidth() :設(shè)置logo寬度大小,數(shù)字