• jquery.qrcode.js 本地生成二维码,带 logo


    一般在项目开发中,前端显示给用户扫描的二维码基本都是由后端代码生成的,那么这个高大上的功能能不能用 JS 来绘制呢? 答案是肯定的

    首先我们需要一个插件 jquery.qrcode.js,该插件基于 jquery 插件,使用方法很简单,如下

    <!DOCTYPE html>
    <html>
    <head>
        <meta charset="UTF-8">
        <title>二维码</title>
        <script src="https://cdn.bootcss.com/jquery/3.3.0/jquery.min.js"></script>
        <script src="https://blog-static.cnblogs.com/files/lovling/jquery.qrcode.js"></script>
    </head>
    <style type="text/css">
        #output {
            width: 360px;
            padding: 0;
        }
    </style>
    <body> 
        <div id="output"></div>
    </body>
    <script type="text/javascript">
        $('#output').qrcode({
            text: "ninhaonihaohnihao",      // 二维码的内容
            render: "canvas",               // 设置渲染方式
             360,                     // 设置宽度: 默认256
            height: 360,                    // 设置高度: 默认256
            background: "#ffffff",          // 背景颜色
            foreground: "#000000",          // 前景颜色
        });
    </script>
    </html>

    效果如下,这样,我们就可以自己生成 二维码了,可以用手机扫一扫,发现能完美获得 配置的内容

    可是我们发现,某些官方网站的二维码中间是有 logo 的,那么这个可以加 logo 吗?

    目前该插件不支持该功能,可是笔者是有强迫症的人,这个黑乎乎的二维码怎么能满足我呢,百度 google 一番,通过修改了插件的一些源码,终于实现了想象中的效果

    <!DOCTYPE html>
    <html>
    <head>
        <meta charset="UTF-8">
        <title>二维码</title>
        <script src="https://cdn.bootcss.com/jquery/3.3.0/jquery.min.js"></script>
        <script src="https://blog-static.cnblogs.com/files/lovling/jquery.qrcode.js"></script>
    </head>
    <style type="text/css">
        #output {
            width: 360px;
            padding: 0;
            margin: 100px auto 0 auto;
        }
    </style>
    <body> 
        <div id="output"></div>
    </body>
    <script type="text/javascript">
        $('#output').qrcode({
            text: "ninhaonihaohnihao",      // 二维码的内容
            render: "canvas",               // 设置渲染方式
             360,                     // 设置宽度: 默认256
            height: 360,                    // 设置高度: 默认256
            background: "#ffffff",          // 背景颜色
            foreground: "#000000",          // 前景颜色
            src: "./my.jpg",                // logo地址, 图片居中, 图片为二维码的 1/9 为最佳,可适当调整,但是太大会影响二维码的内容
            imgWidth: 120,                  // logo宽度
            imgHeight: 120                  // logo高度
        });
    </script>
    </html>

    效果如下,图片选的不是很好,效果不好看,不过总算是实现了

    修改后的插件已上传到博客园,有兴趣的朋友可以下载看看,顺便看看能不能再优化  https://blog-static.cnblogs.com/files/lovling/jquery.qrcode.js

    大家可以直接引用改地址,也可以下载后在本地引入

  • 相关阅读:
    centos7下git服务器端搭建(转)
    IDEA各个版本激活(亲测有效,永久有效)(转)
    维护贴--linux下 mysql数据库的备份和还原 (转)
    维护贴--验证可用--mysql给root开启远程访问权限,修改root密码(转)
    开通mysql root 用户远程访问权限(转)
    安装mysql时包冲突解决方法
    mysql5.5 for linux 安装(转)
    Centos中iptables和firewall防火墙开启、关闭、查看状态、基本设置等(转)
    一个div宽度不固定的左右居中效果
    多行文字在一个div中上下左右居中
  • 原文地址:https://www.cnblogs.com/lovling/p/10518556.html
Copyright © 2020-2023  润新知