QRCode 生成二维码,覆盖在固定海报上
代码备份录——海报+二维码合成图
记得引用门面
use Illuminate\Http\Request;
use Illuminate\Support\Facades\File;
use SimpleSoftwareIO\QrCode\Facades\QrCode;
核心代码
// 生成我的邀请海报
public function myInviter(){
$user = DB::table("user")->where("openid",session("openid"))->first();
// 定义public下面的文件夹
$public_path = public_path('/inviterQrcodes/');
// $public_path 目录不存在,则创建文件夹
File::isDirectory($public_path) or File::makeDirectory($public_path, 0777, true, true);
// 定义文件名(包含后缀)
$inviterQrCodeFileName = $user->inviter.'.png'; // ZQQ6LDLBDQ.png
// 生成qrcode 并保存在$public_path 下
QrCode::format('png')
->size(300)
->encoding('UTF-8')
->errorCorrection('Q')
->margin(1)
->generate(___host.'/getBind?inviter='.$user->inviter,$public_path.$inviterQrCodeFileName);
// 图片合成
$bg = imagecreatefrompng(public_path('image/hb.png'));// 提前准备好的海报图
$qrcode = imagecreatefrompng($public_path.$inviterQrCodeFileName);
imagecopyresampled($bg, $qrcode, 220, 550, 0, 0, 350, 350, imagesx($qrcode), imagesy($qrcode));
imagepng($bg, public_path('/inviterQrcodes/' . $inviterQrCodeFileName));
//unlink($public_path.$inviterQrCodeFileName);
return view("task.myInviter")->with('title',"邀请好友")->with('inviter',$user->inviter);
}
本作品采用《CC 协议》,转载必须注明作者和本文链接
好乱的风格。
@Wi1dcard 不喜勿喷,此处发文,就是为了方便以后复制。
QrCode用的哪个包
@lovecn "simplesoftwareio/simple-qrcode": "1.3.*",