我們程序員在實際的項目開發(fā)過程中,因項目需求需要生成中間帶logo標(biāo)志的二維碼,今天南昌雅騰教育分享使用php生成中間帶logo標(biāo)志的二維碼的方法,供大家參考使用學(xué)習(xí)。
這是一個二維碼生成器,它可以幫助你以簡單的方式生成二維碼,并且可以設(shè)置二維碼中間的logo圖標(biāo),使用非常簡單,并且提供了一個Symfony包,可以快速整合到你的項目中。
安裝
使用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('手機(jī)掃一掃', 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()]);
運(yùn)行以上代碼,你會發(fā)現(xiàn)生成了一個中間有l(wèi)ogo小圖片的二維碼,以上代碼中:
setSize():設(shè)置二維碼圖片的尺寸,數(shù)字整型,默認(rèn)長寬是300px的圖片。
setErrorCorrectionLevel():設(shè)置糾錯級別,可以是LOW,MEDIUM,QUARTILE,HIGH
setForegroundColor():設(shè)置前置色,rgb,默認(rèn)黑色
setBackgroundColor():設(shè)置背景色,rgb,默認(rèn)白色
setLabel():設(shè)置文字說明
setLogoPath():設(shè)置中間logo路徑地址
setLogoWidth():設(shè)置logo寬度大小,數(shù)字
南昌雅騰教育專注PHP軟件開發(fā)+WEB前端開發(fā)技術(shù)培訓(xùn),小班面授+手把手輔導(dǎo)+理論與項目開發(fā)結(jié)合教學(xué)的培養(yǎng)方式。