PHP生成二维码图片(可自定义logo,大小,容错)
phpqrcode类下载地址:https://sourceforge.net/projects/phpqrcode/files/
/*生成二维码图片
@param string $content 内容
@param string $qr 二维码地址
@param string $logo logo地址
@param string $level 容错等级
@param string $size 图片大小
@return string
*/
function qr($content="", $qr="", $logo="", $level="L", $size="6") {
if(empty($content)) {
return 'content is not empty';
}
\think\Loader::import('phpqrcode.phpqrcode', EXTEND_PATH);
if(empty($qr)) {
$path = Env::get('ROOT_PATH') . "public/static/"; // 本地存放图片路径
if(!file_exists($path)) {
mkdir($path, 0777, true);
}
$qr = $path . time() . '.png';
}
QRcode::png($content, $qr, $level, $size, 2);
if($logo) {
if(file_exists($logo)) {
$logo_resource = imagecreatefromstring(file_get_contents($logo));
$qrcode_resource = imagecreatefromstring(file_get_contents($qr));
$logo_w = imagesx($logo_resource); // logo图片宽度
$logo_h = imagesy($logo_resource); // logo图片高度
$qrcode_w = imagesx($qrcode_resource); // 二维码图片宽度
$logo_qr_width = $qrcode_w / 5;
$scale = $logo_w / $logo_qr_width;
$logo_qr_height = $logo_h / $scale;
$from_width = ($qrcode_w - $logo_qr_width) / 2;
// 重新组合图片并调整大小
imagecopyresampled($qrcode_resource, $logo_resource, $from_width, $from_width, 0, 0, $logo_qr_width, $logo_qr_height, $logo_w, $logo_h);
imagepng($qrcode_resource, $qr);
} else {
return 'logo file is not exist';
}
}
return $qr;
}?>```
解压密码: detechn或detechn.com
免责声明
本站所有资源出自互联网收集整理,本站不参与制作,如果侵犯了您的合法权益,请联系本站我们会及时删除。
本站发布资源来源于互联网,可能存在水印或者引流等信息,请用户自行鉴别,做一个有主见和判断力的用户。
本站资源仅供研究、学习交流之用,若使用商业用途,请购买正版授权,否则产生的一切后果将由下载用户自行承担。