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 有背景的
  • 相关阅读:
    Codeforces 994B. Knights of a Polygonal Table
    Codeforces 994A. Fingerprints
    Codeforces 988F. Rain and Umbrellas
    51nod 1158 全是1的最大子矩阵(单调栈 ,o(n*m))
    51nod 1102 面积最大的矩形 && 新疆大学OJ 1387: B.HUAWEI's billboard 【单调栈】+【拼凑段】(o(n) 或 o(nlog(n))
    Codeforces 988E. Divisibility by 25
    【复习资料】单片机与嵌入式系统原理及应用
    Codeforces 723D. Lakes in Berland
    Codeforces 986A. Fair(对物品bfs暴力求解)
    Codeforces 986B. Petr and Permutations(没想到这道2250分的题这么简单,早知道就先做了)
  • 原文地址:https://www.cnblogs.com/myIvan/p/10292723.html
Copyright © 2011-2022 走看看