endroid/qr-code二维码类库已经升级,之前thinkphp6利用该类库生成二维码的代码失效,现将endroid/qr-code最新版本V4.4.7生成二维码示例代码介绍一下。
附github上的地址:https://github.com/endroid/qr-code
endroid/qr-code老版本生成二维码比较简单,代码如下(比较简单):
use Endroid\QrCode\QrCode;
/*生成二维码*/
public function qrcode($content){
$qrCode = new QrCode($content);
header('Content-Type: '.$qrCode->getContentType());
echo $qrCode->writeString();
}
endroid/qr-code新版本(V4.4.7)生成二维码就比较啰嗦一点了:
use Endroid\QrCode\Color\Color;
use Endroid\QrCode\Encoding\Encoding;
use Endroid\QrCode\ErrorCorrectionLevel\ErrorCorrectionLevelLow;
use Endroid\QrCode\QrCode;
use Endroid\QrCode\Label\Label;
use Endroid\QrCode\Logo\Logo;
use Endroid\QrCode\RoundBlockSizeMode\RoundBlockSizeModeMargin;
use Endroid\QrCode\Writer\PngWriter;
/*生成二维码*/
public function qrcode($content){
$writer = new PngWriter();
// Create QR code
$qrCode = QrCode::create($content)
->setEncoding(new Encoding('UTF-8'))
->setErrorCorrectionLevel(new ErrorCorrectionLevelLow())
->setSize(300)
->setMargin(10)
->setRoundBlockSizeMode(new RoundBlockSizeModeMargin())
->setForegroundColor(new Color(0, 0, 0))
->setBackgroundColor(new Color(255, 255, 255));
$result = $writer->write($qrCode);
// Directly output the QR code
header('Content-Type: '.$result->getMimeType());
return $result->getString();
} 上一篇: php判断是否包含字符串
下一篇: 导航分类的删除问题