引入文件: use Endroid\QrCode\ErrorCorrectionLevel; use Endroid\QrCode\LabelAlignment; use Endroid\QrCode\QrCode; use Endroid\QrCode\Response\QrCodeResponse;
public function code_graph() //生成图形 { $code = input('code/d'); $user_id = input('user_id/d'); $qrCode = new QrCode(); $qrCode->setText($code.','.$user_id); //设置二维码上的内容 $qrCode->setSize(300); //二维码尺寸 $qrCode->setWriterByName('png'); //设置输出的二维码图片格式 $qrCode->setMargin(10); $qrCode->setEncoding('UTF-8'); $qrCode->setErrorCorrectionLevel(ErrorCorrectionLevel::HIGH()); //设置二维码的纠错率,可以有low、medium、quartile、hign多个纠错率 $qrCode->setForegroundColor(['r' => 0, 'g' => 0, 'b' => 0, 'a' => 0]); //设置二维码的rgb颜色和透明度a,这里是黑色 $qrCode->setBackgroundColor(['r' => 255, 'g' => 255, 'b' => 255, 'a' => 0]); //设置二维码图片的背景底色,这里是白色 //输出二维码 header('Content-Type: '.$qrCode->getContentType()); return $qrCode->writeString();//二维码缓存数据 }
图片格式引入请求地址:
$_SERVER['REQUEST_SCHEME'].'://'.$_SERVER['SERVER_NAME'].'/api/index/code_graph?code='.$id.'&user_id='.$user_id;