PHPqrcode 下载地址:https://sourceforge.net/projects/phpqrcode/
use think\Request;
use think\Loader;
Loader::import("phpqrcode.phpqrcode.phpqrcode");//(phpqrcode)放在extend目录下
public function code(){
$QRcode = new \QRCode();
$value = 'https://www.baidu.com/'; //二维码内容
$errorCorrectionLevel = 'L'; //容错级别
$matrixPointSize = 5; //生成图片大小
//生成二维码图片
// 判断是否有这个文件夹 没有的话就创建一个
if(!is_dir("qrcode")){
// 创建文件加
mkdir("qrcode");
}
//设置二维码文件名
$filename = 'qrcode/'.time().rand(100,99999).'.png';
//生成二维码
$QRcode::png($value,$filename , $errorCorrectionLevel, $matrixPointSize, 2);
$logo = 'D:\phpEnv\www\localhost\dap\public\assets\img\loginbg.jpg';//准备好的logo图片
//$logo = '';
$request = Request::instance();
$domain = $request->domain();//获取当前域名
//已经生成的原始二维码图
$img = $domain.'/'.$filename;
if ($logo != '') {
$QR = imagecreatefromstring(file_get_contents($img));
$logo = imagecreatefromstring(file_get_contents($logo));
$QR_width = imagesx($QR);//二维码图片宽度
$QR_height = imagesy($QR);//二维码图片高度
$logo_width = imagesx($logo);//logo图片宽度
$logo_height = imagesy($logo);//logo图片高度
$logo_qr_width = $QR_width / 5;
$scale = $logo_width/$logo_qr_width;
$logo_qr_height = $logo_height/$scale;
$from_width = ($QR_width - $logo_qr_width) / 2;
//重新组合图片并调整大小
imagecopyresampled($QR, $logo, $from_width, $from_width, 0, 0, $logo_qr_width,
$logo_qr_height, $logo_width, $logo_height);
imagepng($QR, $filename);
}
echo "<img src='$img'>";
}
没有logo实例:
有logo实例