PHP生成二维码图片(可自定义logo,大小,容错)

本文阅读 1 分钟
首页 PHP笔记 正文

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

免责声明

本站所有资源出自互联网收集整理,本站不参与制作,如果侵犯了您的合法权益,请联系本站我们会及时删除。

本站发布资源来源于互联网,可能存在水印或者引流等信息,请用户自行鉴别,做一个有主见和判断力的用户。

本站资源仅供研究、学习交流之用,若使用商业用途,请购买正版授权,否则产生的一切后果将由下载用户自行承担。

PHP数组转xls格式的excel文件
« 上一篇 09-13
《Python开发技术详解》书籍+配套Python视频教程 (共27集)
下一篇 » 10-04

发表评论