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图片并不影响解码结果的原因。

  • 相关阅读:
    HDU 5583 Kingdom of Black and White 水题
    HDU 5578 Friendship of Frog 水题
    Codeforces Round #190 (Div. 2) E. Ciel the Commander 点分治
    hdu 5594 ZYB's Prime 最大流
    hdu 5593 ZYB's Tree 树形dp
    hdu 5592 ZYB's Game 树状数组
    hdu 5591 ZYB's Game 博弈论
    HDU 5590 ZYB's Biology 水题
    cdoj 1256 昊昊爱运动 预处理/前缀和
    cdoj 1255 斓少摘苹果 贪心
  • 原文地址:https://www.cnblogs.com/e0yu/p/7054809.html
Copyright © 2011-2022 走看看