jquery-qrcode客户端二维码生成类库扩展--融入自定义Logo图片
年后换了部门,现在主要的职责就是在网上卖精油,似乎这个就是传说中的网络营销。
跟着公司的MM们也了解不了少关于网络营销的知识,间接的了解到马云和刘强东都是些怎样龌龊的人,尽管之前也这样认为。
淘宝就不多说了,全球最大的中文假货销售平台(尽管淘宝没有打出全球中文等字样,可是其必须当之无愧)。百度,当当等厚颜无耻之徒的明智之举就在于此,老外做的再大也很少会有直接支持中文的,因此他们都会在其名称前增加:“全球最大的中文”等字样,为自己镶金。
之前还一直比较力挺京东的,认为其根本自营根本不会销售假货,所以最近一次手机都是在京东上购买的,I9300I 买了不到半个月京东掉价350块,一个月不到的时间直接掉价500多块,找了客服寻求“报价保护”,之后才发现京东的“价格保护”究竟是如何的保护其自身的利益。反正维护老百姓的权益那是不可能的,500多块只能当喂狗了,京东收取个人商家开店费也是尽可能的为个人商家输送利益,商家得利,其自然也少不了。遇到卖假货的也是先协调,协调不成最多退货赔款,售假商家依旧在京东内活跃。因为商家孝敬京东的钱不是少数。以后京东自营售假的事情,可能也就是分分钟的事情了。
上述描述,纯属发泄一下自己的情绪,哈哈!
说到正题,用朋友的话来说,他们楼下送快餐的都有二维码,是不是我们自己的网站也上个二维码呢?刚好公司要为奥蔓精油做个官网,想必二维码是必不可少的,因此今天对二维码进行了学习。之前对二维码一点概念都没有,居然还无知到以为是腾讯推出的产品,不上进坑死人啊。
用我个人的话来说,我觉得二维码就是一个字符串。不管是扫描还是生成,都是应用这个字符串进行我们需要的操作。可能这样说有点肤浅。不过通过解析二维码我们获得的不就是一个指定的字符串吗?可以是产品的编号,可以让我们找到指定的商品、也可以说一个网站的连接,通过获得这个连接,我们可以做我们需要的动作,例如打开网页。
二维码的高级应用我个人还没有系统的研究,通过扫码器扫描二维码进行库管方面的业务都是应用的案例。快递单号也可以使用,通过扫码器扫描之后把ID传输到电脑中,然后进行货物的事件跟踪数据更新什么的。
查看了京东、淘宝等网站的二维码都是先生成图片然后显示,可是在搜索资料时发现了jquery-qrcode,一个不错的jquery类库。Google已经快一个月不能使用了,期间被迫使用了几天百度,最终给我的体验只有两个字:“恶心”。用百度我似乎什么资料都找不到,排在首位的永远都是花钱的,要么就是百度百科,百度知道里的毫无用处的垃圾链接。今天一个天基本都在使用Google,心情好好的无法比拟。有需要的可以联系我,每年只需300块钱。
使用jquery-qrcode的好处,不需要在服务器端生成多余的二维码图片,二维码直接通过JavaScript直接在客户端生成,有效减少带宽,以及维护成本。
jquery-qrcode的简单用例,再此我就不再做累赘的翻译阐述了,因为我压根也不会英语。请参考jquery-qrcode官网,并下载类库,里边的例题很详细。
需要引用jquery类库(例题中使用的是1.5.2版本,其连接到google服务中,暂时不能访问,为什么不能访问,你懂的,需要看效果时,请自己替换“https://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js”为本地文件),其次再把“jquery.qrcode.min.js”引用了,这样必要的环境就搭建起来了。
使用过程中不知道有哪些配置参数,请参考“jquery.qrcode.js”的源文件。
可是在我的使用中发现jquery-qrcode只能生成二维码图形,却不能直接在二维码图形中加入我们自定义的Logo图片。因此我对其类库进行了扩展,该修正版添加了Logo功能,只需要配置src属性即可。生成时Logo图片会占据设置宽高的2.5为比例。例如二维码宽高均为200时,Logo的宽高则为200/2.5=80。
这里使用到JavaScript为Canvas标记添加img标签的问题,请参照stackoverflow上的帖子《How to add image to canvas》。
下载我修改后的“jquery.qrcode.min.js”文件,不要再引用官方的了,引用从本帖下载的js文件。下载链接
调用代码如下:
<!DOCTYPE html>
<html>
<head>
<title>Demo page</title>
</head>
<body>
<p>
http://jeromeetienne.github.io/jquery-qrcode/ <br />
原版jquery-qrcode二维码生成,使用jquery-qrcode的好处,不需要在服务器端生成多余的二维码图片,二维码直接通过JavaScript直接在客户端生成,减少带宽。 <br />
该修正版添加了Logo功能,只需要配置src属性即可。生成时Logo图片会占据设置宽高的2.5为比例。例如二维码宽高均为200时,Logo的宽高则为200/2.5=80。
</p>
<div id="output">
</div> <script src="../jquery.min.js"></script> <script type="text/javascript" src="../jquery.qrcode.min.js"></script><!--这里不再调用官方的压缩文件,换成从本帖内下载的jquery.qrcode.min.js文件--> <script>
jQuery(function() {
jQuery('#output').qrcode({
text: "http://aoman.tmall.com/",
height: 250,
width: 250,
src: 'AroMiin.jpg'//这里配置Logo的地址即可。
});
}) </script> </body>
</html>
生成出来的效果图如下:
支持下小弟的工作,扫一扫,提供订单号,会有惊喜,也许是源代码哦!
jquery-qrcode客户端二维码生成类库扩展--融入自定义Logo图片的更多相关文章
- QRCode二维码生成方案及其在带LOGO型二维码中的应用(1)
原文:QRCode二维码生成方案及其在带LOGO型二维码中的应用(1) 提要:很多公司为商业宣传之需,常将企业LOGO加入二维码中,但如果LOGO遮挡区域足够地大,二维码就变得无法识别.那么,有没有一 ...
- QRCode二维码生成方案及其在带LOGO型二维码中的应用(2)
原文:QRCode二维码生成方案及其在带LOGO型二维码中的应用(2) 续前:QRCode二维码生成方案及其在带LOGO型二维码中的应用(1) http://blog.csdn.net/johnsu ...
- 利用phpqrcode二维码生成类库和imagecopymerge函数制拼接图片的经验
前期准备 引入phpqrcode类库(下载地址:https://sourceforge.net/projects/phpqrcode/) PHP开启GD扩展库支持 1.利用phpqrcode生成二维码 ...
- 利用phpqrcode二维码生成类库合成带logo的二维码并且用合成的二维码生成海报(二)
前期准备 引入phpqrcode类库(下载地址:https://download.csdn.net/download/weixin_37557729/11891240:支持彩色二维码的下载地址:htt ...
- 使用PHP二维码生成类库PHP QR Code生成二维码
<?php include 'phpqrcode.php'; $value = 'http://www.helloweba.com'; //二维码内容 $errorCorrectionLevel ...
- QRCode 扫描二维码、扫描条形码、相册获取图片后识别、生成带 Logo 二维码、支持微博微信 QQ 二维码扫描样式
目录 功能介绍 常见问题 效果图与示例 apk Gradle 依赖 布局文件 自定义属性说明 接口说明 关于我 功能介绍 根据之前公司的产品需求,参考 barcodescanner 改的,希望能帮助到 ...
- JAVA实现QRCode的二维码生成以及打印
喜欢的朋友可以关注下,粉丝也缺. 不说废话了直接上代码 注意使用QRCode是需要zxing的核心jar包,这里给大家提供下载地址 https://download.csdn.net/download ...
- Winform窗体实现简单的二维码生成和保存
二维码的生成需要用到二维码生成的类库,ThoughtWorks.QRCode.dll 步骤: 第一步:下载二维码生成类库,ThoughtWorks.QRCode.dll 第二步:新建winform项目 ...
- HTML5实现扫描识别二维码/生成二维码
扫描识别二维码 思路: 1. 操作摄像头,获取图片.HTML5 WEBRTC的navigator.getUserMedia方法去实时获取摄像头资源. 2. 利用canvas使用相关算法分析图片识别图 ...
随机推荐
- TCP 两次握手为什么无法阻止历史连接?
摘要:在两次握手的情况下,「被动发起方」没有中间状态给「主动发起方」来阻止历史连接,导致「被动发起方」可能建立一个历史连接,造成资源浪费. 本文分享自华为云社区<TCP 两次握手为什么无法阻止历 ...
- redis启动报错 var/run/redis_6379.pid exists, process is already running or crashed
redis启动显示 /var/run/redis_6379.pid exists, process is already running or crashed 出现这个执行 rm -rf /var/r ...
- 【LeetCode】987. Vertical Order Traversal of a Binary Tree 解题报告(C++ & Python)
作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 DFS BFS 日期 题目地址:https://le ...
- 【LeetCode】45. Jump Game II 解题报告(Python)
作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 贪心 日期 题目地址:https://leetcod ...
- 【LeetCode】904. Fruit Into Baskets 解题报告(Python)
作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 题目地址: https://leetcode.com/problems/fruit-in ...
- 【LeetCode】137. Single Number II 解题报告(Python)
[LeetCode]137. Single Number II 解题报告(Python) 标签: LeetCode 题目地址:https://leetcode.com/problems/single- ...
- 1226 - One Unit Machine
1226 - One Unit Machine PDF (English) Statistics Forum Time Limit: 2 second(s) Memory Limit: 32 MB ...
- 教学日志:javaSE-面向对象2
一.局部变量和成员变量 package class4.oop1; /** * @Auther: Yu Panpan * @Date: 2021/12/10 - 12 - 10 - 14:47 * @D ...
- Log4自定义Appender介绍
最初想要在执行一段业务逻辑的时候调用一个外部接口记录审计信息,一直找不到一个比较优雅的方式,经过讨论觉得log4j自定义的appender或许可以实现此功能.后来就了解了一下log4j的这部分. Ap ...
- EDP转LVDS屏转接线或者转接板方案|CS5211替代PS8625|PS8622|CS5211
PS8625 (DP至LVDS)是一款DisplayPort到LVDS转换器方案芯片, 可实现双通道DP输入,双链路LVDS输出.同时PS8625是一个显示端口到LVDS转换器设计的PC机,利用GPU ...