安装扩展 composer require endroid/qr-code
/**
*
* @param array $params
* @return string
* @throws Exception
*/
public function creatCode(array $params): string
{
$writer = new PngWriter();
/*支付参数二维码*/
$codeUrl = '二维码参数';
// Create QR code
$qrCode = QrCode::create($codeUrl)
->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));
// Create generic logo
$logo = Logo::create('logo地址')
->setResizeToWidth(50);
// Create generic label
$label = Label::create($params['title'])
->setTextColor(new Color(0, 0, 255));//标题中颜色-红-绿-蓝
$result = $writer->write($qrCode, null, $label);
// Directly output the QR code
// header('Content-Type: ' . $result->getMimeType());
// Save it to a file
$fileUrl = $result->saveToFile(BASE_PATH . '/public/img/'.111.'png');//二维码保存地址
// Generate a data URI to include image data inline (i.e. inside an <img> tag)
$dataUri = $result->getDataUri();
return array('code_url' => $dataUri);//base64的格式图片
}