zoukankan      html  css  js  c++  java
  • PHP生成页面二维码解决办法?详解

    随着科技的进步,二维码应用领域越来越广泛,今天我给大家分享下如何使用PHP生成二维码,以及如何生成中间带LOGO图像的二维码。

    具体工具

    phpqrcode.php内库;这个文件可以到网上下载,如果没有可以加我微信 webolol 和我要下;

    具体方法

    使用PHP二维码生成类库PHP QR Code生成二维码:

    <?php 
    //引入phpqrcode库文件
    include('phpqrcode.php');
    $data = 'http://www.baidu.com'; //生成二维码的数据
    $filename = 'fyz.png'; //生成二维码的图片名称 
    $errorCorrectionLevel = 'L'; //纠错级别:L、M、Q、H 
    $matrixPointSize = 3; //点的大小
    //创建并生成二维码
    QRcode::png($data,$filename,$errorCorrectionLevel,$matrixPointSize,2);
    //方式一:输出二维码
    //QRcode::png($data);
    //方式二:输出二维码
    //echo "<img src='".$filename."'>";
    //完成到这里就已经可以生成二维码了
    //二维码中镶嵌 logo 
    $logo = 'logo.png';//logo图片
    $QR = 'fyz.png';
    if ($logo !== FALSE) {
        $QR = imagecreatefromstring(file_get_contents($QR));
        $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,'testImg.png');
    echo "<img src='testImg.png'>";

    由于二维码允许有一定的容错性,一般的二维码即使在遮住部分但仍然能够解码,经常我们扫描二维码的时候扫描到甚至不到一半时就能解码扫描结果,这是因为生成器会将部分信息重复表示来提高其容错度,这就是为什么我们在二维码中间加个LOGO图片并不影响解码结果的原因。

  • 相关阅读:
    常用dos命令
    最新Java校招面试题及答案
    计算机的基本组成及其工作原理
    java中的三大排序算法
    JSP九大内置对象的作用和用法总结
    java代码实现二叉树的遍历
    转发和重定向的区别
    解决中文乱码问题大全
    创建线程的三种方式对比
    Excel 不同文件、sheet 关联引用(vlookup函数)
  • 原文地址:https://www.cnblogs.com/e0yu/p/7054809.html
Copyright © 2011-2022 走看看