logo = Logo::create($logo_path) //logo的照片路径 ->setResizeToWidth(20); //logo的大小 } /** * 设置二维码下方文字 */ public function setLabel($text) { $this->label = Label::create($text) //二维码下面的文字 ->setTextColor(new Color(0, 0, 0)); //文字的颜色 } /** * 生成二维码 * @param string $url [链接] * @return string [type] [返回图片path] */ public function create(string $url,string $fileName) { $writer = new PngWriter(); $qrCode = QrCodeQrCode::create($url)//跳转的url地址 ->setEncoding(new Encoding('UTF-8')) //设置编码格式 ->setErrorCorrectionLevel(new ErrorCorrectionLevelLow()) //设置纠错级别为低 ->setSize($this->size) //大小 ->setMargin(30) //边距 ->setRoundBlockSizeMode(new RoundBlockSizeModeMargin()) //设置圆轮大小边距 ->setForegroundColor(new Color(0, 0, 0)) //前景色 ->setBackgroundColor(new Color(255, 255, 255)); //背景色 $result = $writer->write($qrCode, $this->logo, $this->label); $result->getString(); $file_path = public_path() . "/storage/qrcode/"; if (!is_dir($file_path)) { mkdir($file_path, 0755, true); } if (!empty($fileName)){ $qrcode = $fileName.'.png'; }else{ $qrcode = time() . mt_rand(0, 9999). '.png'; } $result->saveToFile($file_path . $qrcode); return $file_path . $qrcode; } }