首页 > 代码库 > jquery-qrcode客户端二维码生成类库扩展--融入自定义Logo图片

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>

生成出来的效果图如下:

支持下小弟的工作,扫一扫,提供订单号,会有惊喜,也许是源代码哦!