一般在项目开发中,前端显示给用户扫描的二维码基本都是由后端代码生成的,那么这个高大上的功能能不能用 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",               // 设置渲染方式
        width: 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",               // 设置渲染方式
        width: 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

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

转载于:https://www.cnblogs.com/lovling/p/10518556.html

HTML5 使用 JS 生成二维码,带头像相关推荐

  1. iOS 生成二维码 带头像logo 头像logo带边框 圆角

    1 调用的地方 //生成带边框的圆角图片,这个圆角图标可以先生成,如果放在二维码生成时会影响图片生成速度. self.logo= [self createNewlogoViewView:centerL ...

  2. JS生成二维码(兼容各种浏览器及中文)

    本文将介绍如何使用JS生成二维码,兼容各种浏览器及手机端,支持中文. 代码如下: <!DOCTYPE html> <html> <head> <meta ch ...

  3. js生成二维码以及插入图片

    js生成二维码以及插入图片 先根据qrcode官网demo,不同属性值的变化,二维码的变化效果:https://larsjung.de/jquery-qrcode/latest/demo/ 进入dem ...

  4. JS生成二维码以及点击下载二维码

    JS生成二维码 效果 扫描二维码可访问指定链接或当前网站链接,内容可以自己更改 "复制链接",点击按钮复制当前网站链接 如何获取当前网站链接 源码 textarea{opacity ...

  5. qrcode.js使用js生成二维码(并下载)的实践

    知识点 base64数据形式 Base64是一种用64个字符来表示任意二进制数据的方法. – 廖雪峰官方网站 Base64编码有哪些情景需求? – 知乎 案例场景 后台生成邀请链接,前端拿到链接之后处 ...

  6. qrcode.js 生成二维码包含logo和背景图片及IE下载二维码

    思路: 1. 通过qrcode.js 生成带logo的二维码 2. 将背景图片.logo与生成的二维码图通过canvas 绘制在一起形成一个新的canvas 3. 将canvas 转成base64的u ...

  7. 微信小程序——weapp-qrcode.js生成二维码、海报二维码、核销码

    各位小伙伴们,不知道你们在开发的时候有没有遇到小程序生成二维码,生成海报时候带上二维码.核销码等等. 那么,小程序端该如何生成二维码图片呢? 效果如下: weapp-qrcode.js 小伙伴们可以来 ...

  8. jquery.qrcode.js生成二维码插件转成图片格式

    1.qrcode其实是通过使用jQuery实现图形渲染,画图,支持canvas(HTML5)和table两种方式, github源码地址: https://github.com/jeromeetien ...

  9. JS生成二维码以及保存页面为图片的解决方案:html2Canvas+file-saver+qrcodejs2的使用心得以及解决图片失真,保存不完整的解决办法

    前言 最近因为工作需求,需要前端根据后端传过来的链接生成二维码,并且要使用JS保存页面为图片.然后网上搜了很多解决办法.最终都是用h5的canvas进行绘制然后保存为图片.其中,又以html2Canv ...

最新文章

  1. 阿里云云盾-风险识别-增强版模式发布
  2. HDU 4405 概率期望DP
  3. 名词解释_名词解释的答题技巧
  4. 二维数组数组名的使用
  5. 本地存储和移动端js框架及bootstrap简介
  6. css线条伸缩_伸缩布局(CSS3)
  7. npm 包管理器_导演电影解释了节点软件包管理器(NPM)
  8. Kotlin实现LeetCode算法题之String to Integer (atoi)
  9. 《IS-IS网络设计解决方案》一导读
  10. 自定义rest api的基本思想过程--总结
  11. 黑马程序员 Python学习笔记之 算数运算符
  12. 计算机网络——数据包抓取与分析
  13. 数学建模-BP神经网络简介
  14. 微博 用户画像_微博的用户画像是怎样构建的?
  15. H5网页实现微信分享,分享朋友圈功能(分享带图片,附源码)
  16. QQ空间自动点赞评论助手 微博自动点赞自动转发神器带源码(超简单)
  17. 最优化方法 18:近似点算子 Proximal Mapping
  18. Android百度语音集成——文字转语音
  19. 非常漂亮的一款html引导页导航网站旋转头像变幻背景单页源码
  20. 计算机中的网络怎么共享的打印机驱动,如何连接其他电脑共享的打印机

热门文章

  1. PAT——程序运行时间 (1026)
  2. Android实战】DroidPlugin插件化应用分析
  3. Xposed如何实现类中函数的调用
  4. Mac下安装MariaDB(自用备忘)
  5. LOJ #516. 「LibreOJ β Round #2」DP 一般看规律
  6. android动态监听事件,Android-常见的事件监听
  7. ubuntu 局域网dns服务器_如何在 Ubuntu 16.04 服务器上配置内网 DNS 服务
  8. mathematica 可编辑pdf_Mathematica学习笔记[1]
  9. Qt 并行计算 Concurrent Run的翻译
  10. 所属文件不可访问_日志文件写入失败(permission denied)