• phpqrcode 分别生成普通、带logo、带背景带logo二维码


    前提:下载好 phpqrcode 类库

    1、生成普通二维码

    //引入类库
    include('phpqrcode/phpqrcode.php');
    //二维码里面的链接地址
    $url="http://www.baidu.com";
    //二维码图片保存地址
    $save_path = "./qrcode.png";
    QRcode::png($url, $save_path, 'L', 4, 2);
    //后面两个参数控制二维码大小相关的,可自行调整

    2、生成带有logo的二维码

    //引入类库
    include('phpqrcode/phpqrcode.php');
    //二维码里面的链接地址
    $url="http://www.baidu.com";
    //二维码图片保存地址
    $save_path = "./qrcode.png";
    QRcode::png($url, $save_path, 'L', 4, 2);
    //后面两个参数控制二维码大小相关的,可自行调整
    
    //logo图片
    $logo = 'logo.png';
    if($logo){
            $QR = imagecreatefromstring(file_get_contents( $save_path ));
            $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, $save_path );
        }
    //首先生成普通二维码,然后添加上logo

    3、生成带logo带背景的二维码

    //引入类库
    include('phpqrcode/phpqrcode.php');
    //二维码里面的链接地址
    $url="http://www.baidu.com";
    //二维码图片保存地址
    $save_path = "./qrcode.png";
    QRcode::png($url, $save_path, 'L', 4, 2);
    //后面两个参数控制二维码大小相关的,可自行调整
    
    //添加logo
    $logo = 'logo.png';
    if($logo){
            $QR = imagecreatefromstring(file_get_contents( $save_path ));
            $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, $save_path );
        }
    
    //添加背景图
    $bgImg = 'xuanchuan.jpg';
    $backgroupImg = imagecreatefromstring(file_get_contents($bgImg));
    $newQR = imagecreatefromstring(file_get_contents($save_path));
    //获取新的尺寸
    list($width, $height) = getimagesize($save_path);
    $new_width = 200;
    $new_height = 200;
    //重新组合图片并调整大小
    imagecopyresampled($backgroupImg,$newQR,260, 700, 0, 0,$new_width, $new_height, $width, $height);//输出图片
    imagepng($backgroupImg, $save_path);
    //现在生成的图片就是有logo 有背景的
  • 相关阅读:
    计算机视觉、机器学习相关领域论文和源代码大集合【转载】
    一试真伪:可以在12306上选择上中下卧铺吗
    给企业研发人员列一张数学清单【转载】
    向“生物力学之父”冯元桢先生学习什么?【转载】
    热消融影像引导
    Computer assisted surgery
    ASM, AAM
    Linux 下编译安装MySQL
    Linux下搭建FTP服务器
    自己瞎捣腾的Win7下Linux安装之路-----理论篇
  • 原文地址:https://www.cnblogs.com/myIvan/p/10292723.html
Copyright © 2020-2023  润新知