生成二维码方法汇总


Posted in Javascript onDecember 26, 2014

随着网络的迅速发展 发展 发展,二维码的应用将会越来越多。同时很多只是很平凡的二维码,请拿起你的手 把这个二维码 设计起来吧。下面分享了几个非常好的二维码设计。

二维码原理

二维条码/二维码可以分为堆叠式/行排式二维条码和矩阵式二维条码。 堆叠式/行排式二维条码形态上是由多行短截的一维5条码堆叠而成;矩阵式二维条码以矩阵的形式组成,在矩阵相应元素位置上用“点”表示二进制“1”, 用“空”表示二进制“0”,“点”和“空”的排列组成代码。

最近对二维码产生了兴趣 研究了一下二维码 这里生出的术语 qrcode  容错性较高。

数据表示方法

深色模块表示二进制“1”,浅色模块表示二进制“0”。
纠错能力
· L级:约可纠错7%的数据码字
· M级:约可纠错15%的数据码字
· Q级:约可纠错25%的数据码字
· H级:约可纠错30%的数据码字

上面的设计 就很完美的利用了 qrcode的容错性,非常nice  也非常有创意!!

1.google 接口

<?php

               $urlToEncode="http://www.csd2n.net";//要生成二维码的网址

               generateQRfromGoogle($urlToEncode);

               function generateQRfromGoogle($chl,$widhtHeight ='150',$EC_level='L',$margin='0')

               {

               $url = urlencode($url);

               echo '<img src="http://chart.apis.google.com/chart?chs='.$widhtHeight.'x'.$widhtHeight.'&cht=qr&chld='.$EC_level.'|'.$margin.'&chl='.$chl.'" alt="QR code" widhtHeight="'.$size.'" widhtHeight="'.$size.'"/>';//Google API接口,若失效可到Google网址查询最新接口

               }

               ?>

2..js代码 转换为 canvas (重点)

demo: http://hxend.com/jsqrcode/test/

<script type="text/javascript" src="http://sandbox.runjs.cn/uploads/rs/142/gjxgxu0g/qrgen.min.js"></script>

               <div id=qrcode></div>

               <script type="text/javascript">

               qrcode(document.getElementById('qrcode'),{

                   data:'http://geraldl.net'

               });

               </script>

3. 图片接口

<img src="http://qrcoder.sinaapp.com?t=hello world">

4.demo 里面http://hxend.com/jsqrcode/test/ 代码

<!doctype html>

<html>

    <head>

        <title>QRCode</title>

        <script type="text/javascript" src="http://files.cnblogs.com/webers/qrcode-light.js"></script>

        <script type="text/javascript" src="http://files.cnblogs.com/webers/qrgen.js"></script>

    </head>

    <body>

        <div>

            <h1>二维码生成</h1>

            <div>

                图片: <img id=qrimg src=https://3water.com/uploadfile/2014/1219/20141219081025437.png>

                <label><input id=qrclearedges type=checkbox checked>清理边缘</label>

            </div>

            <div><input id=fimg type=file></div>

            <div>文本: <textarea id=qrtext>http://www.btgoogle.com</textarea></div>

            <div>大小: <input id=cellSize type=range min=2 max=10 value=6></div>

            <table>

                <tr>

                    <td rowspan=2>效果:</td>

                    <td colspan=3><input id=cellEffect type=range min=-50 max=50 step=5 value=0></td>

                </tr>

                <tr id=cellEffectStops>

                    <td align=left><a href=# data=l>液体</a></td>

                    <td align=center><a href=# data=s>方块</a></td>

                    <td align=right><a href=# data=r>圆</a></td>

                </tr>

            </table>

            <div>

                Foreground color: <input id=colorFore type=color value=#4169e1>

                Background color: <input id=colorBack type=color value=#ffffff><br>

                Outside-border color: <input id=colorOut type=color value=#cd5c5c>

                Inside-border color: <input id=colorIn type=color value=#191970>

            </div>

            <button id=qrgen>生成</button>

        </div>

        <div id=qrcode></div>

        <script src="http://files.cnblogs.com/webers/take.js"></script>

    </body>

以上4种方法,第3种最简单,第二种是我推荐的,自由度大些,小伙伴根据自己的需求来选择吧

Javascript 相关文章推荐
javascript数组的扩展实现代码集合
Jun 01 Javascript
jQuery中获取checkbox选中项等操作及注意事项
Nov 24 Javascript
node.js中的path.dirname方法使用说明
Dec 09 Javascript
jQuery可见性过滤器:hidden和:visibility用法实例
Jun 24 Javascript
JS拖拽组件学习使用
Jan 19 Javascript
JS实现的全排列组合算法示例
Oct 09 Javascript
jquery实现左右轮播切换效果
Jan 01 jQuery
JavaScript控制浏览器全屏显示简单示例
Jul 05 Javascript
使用Vue父子组件通信实现todolist的功能示例代码
Apr 11 Javascript
解决Vue+Electron下Vuex的Dispatch没有效果问题
May 20 Javascript
JS绘图Flot如何实现动态可刷新曲线图
Oct 16 Javascript
Vite和Vue CLI的优劣
Jan 30 Vue.js
Javascript中的五种数据类型详解
Dec 26 #Javascript
javascript工厂方式定义对象
Dec 26 #Javascript
jQuery中click事件用法实例
Dec 26 #Javascript
javascript实现类似超链接的效果
Dec 26 #Javascript
浅析javascript操作 cookie对象
Dec 26 #Javascript
浅谈javascript对象模型和function对象
Dec 26 #Javascript
angularjs基础教程
Dec 25 #Javascript
You might like
Php output buffering缓存及程序缓存深入解析
2013/07/15 PHP
PHP的拦截器实例分析
2014/11/03 PHP
一个比较不错的PHP日历类分享
2014/11/18 PHP
php+mysql删除指定编号员工信息的方法
2015/01/14 PHP
Codeigniter中集成smarty和adodb的方法
2016/03/04 PHP
PHP延迟静态绑定的深入讲解
2018/04/02 PHP
javascript之querySelector和querySelectorAll使用说明
2011/10/09 Javascript
Jquery插件之打造自定义的select标签
2011/11/30 Javascript
初学Jquery插件制作 在SageCRM的查询屏幕隐藏部分行的功能
2011/12/26 Javascript
javascript模块化是什么及其优缺点介绍
2013/09/02 Javascript
jQuery中prop()方法用法实例
2015/01/05 Javascript
jstree单选功能的实现方法
2017/06/07 Javascript
基于 Vue 的树形选择组件的示例代码
2017/08/18 Javascript
Windows下使用Nodejs运行js的方法
2017/09/02 NodeJs
Three.js利用dat.GUI如何简化试验流程详解
2017/09/26 Javascript
javascript 构建模块化开发过程解析
2019/09/11 Javascript
Vue 自定义指令功能完整实例
2019/09/17 Javascript
jQuery实现可编辑的表格
2019/12/11 jQuery
vue 实现用户登录方式的切换功能
2020/04/14 Javascript
Vue中使用wangeditor富文本编辑的问题
2021/02/07 Vue.js
python写一个md5解密器示例
2018/02/23 Python
关于numpy数组轴的使用详解
2019/12/05 Python
python GUI库图形界面开发之PyQt5工具栏控件QToolBar的详细使用方法与实例
2020/02/28 Python
matplotlib quiver箭图绘制案例
2020/04/17 Python
Python3实现个位数字和十位数字对调, 其乘积不变
2020/05/03 Python
法国最大电子商务平台:Cdiscount
2018/03/13 全球购物
美国小蜜蜂Burt’s Bees德国官网:天然唇部、皮肤和身体护理产品
2020/06/14 全球购物
怎么可以提高数据库查询数据的速度
2014/06/28 面试题
施惠特软件测试面试题以及笔试题
2015/05/13 面试题
冬季施工防火方案
2014/05/17 职场文书
幼儿园大班区域活动总结
2014/07/09 职场文书
大学生考试作弊被抓检讨书
2014/12/27 职场文书
房屋维修申请报告
2015/05/18 职场文书
欢送领导祝酒词
2015/08/12 职场文书
Oracle中update和select 关联操作
2022/01/18 Oracle
漫画「你在春天醒来」第10卷封面公开
2022/03/21 日漫