zoukankan      html  css  js  c++  java
  • 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 有背景的
  • 相关阅读:
    python 判断矩阵中每行非零个数的方法
    用Python 绘制分布(折线)图
    统计numpy数组中每个值出现的个数
    pandas 获取不符合条件的dataframe
    Python 中如何判断 list 中是否包含某个元素
    docker与Spring boot的集成:docker-maven-plugin使用
    处理kdevtmpfsi挖矿病毒
    使用docker-maven-plugin推送镜像到远程docker服务器
    docker 开启2375端口,提供外部访问docker
    Spring Boot 配置优先级顺序
  • 原文地址:https://www.cnblogs.com/myIvan/p/10292723.html
Copyright © 2011-2022 走看看