4种方法生成二维码 (js 控制canvas 画出 二维码)

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

 二维码原理:

二维条码/二维码可以分为堆叠式/行排式二维条码和矩阵式二维条码。 堆叠式/行排式二维条码形态上是由多行短截的一维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=http://hdimg.qiniudn.com/Uploads/141889425189.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>
</html>

  看在我写这么好的demo  和 分享这么好的二维码设计 给我一个推荐吧。该demo github:https://github.com/Hxend/jsqrcode

版权归博客园和石头所有 ,转载请注明出处。方便更新 
www.cnblogs.com/webers
时间: 2024-08-27 14:17:05

4种方法生成二维码 (js 控制canvas 画出 二维码)的相关文章

用js控制canvas实现的模仿windows上单选、多选及拖动控制的toy program

功能包括:鼠标点击单选.拖动多选.ctrl+单击组合效果.对选中的单个或多个canvas图层通过鼠标拖动.方向键移动.delete删除图层等. 感觉复杂的地方主要在控制逻辑上,下面是全部代码(带注释哦),可以直接复制保存为html文件在浏览器里查看效果 <!DOCTYPE> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312&

关于如何使用VC6.0+Graphics图形库画出二维图形全教程

首先是安装VC6.0,网上各种版本很多,参差不齐,在这里给出一个非常好用的VC6.0(提取码:1bn9) 不支持win10,8,如果非得使用,请用虚拟机或者重装win7系统 按照提示安装就好了,不行就多装几遍(c盘不行就装载d盘),没什么需要特殊配置的 然后就是关于Graphics图形库了,这个更简单,也是有脚本软件,可以直接安装使用,记得安装完VC6.0之后重启一下 可执行软件是:EasyX(提取码:9v9w) 安装完成直接打开后会有提示,可以点击自动添加Graphics图形库,如果不行就手动

两种PHP生成二维码的方法

PHP生成二维码,个人认为最常用的有两种,1.使用google的api生成,2.使用PHP QR Code生成,两种方法生成的二维码都是很清淅的,效果不错.下面来分别说明这两种方法如何实现. 一.PHP使用google api在线生成二维码: 关于这个API的介绍就不说了吧,你可以去Google的官方网站查询,相信大家关注的是具体代码,如下: <?php $urlToEncode="http://www.baidu.com";//要生成二维码的网址 generateQRfromG

应对加密js的三种方法

经常遇到网页在登录后会对用户输入的帐号和密码通过js进行加密,导致模拟登录这类网站时受到阻碍 这里小记一下当前解决该问题的三种方法 1.利用python实现js同等加密. 2.利用selenium模拟登录. 3.利用pyexecjs来执行js文件 测试站点:http://bbs.125.la/ 登录时通过浏览器F12发现该网站对密码进行了加密 进一步分析和查找,发现是名为md5.js?RFI文件进行了加密 尝试用第一种方法,但是发现此文件内容较多,通过python转换相应程序较为复杂,因此放弃

url地址数据参数转化JSON对象(js三种方法实现)

当我们用get方法提交表单时,在url上会显示出请求的参数组成的字符串,例如:http://localhost:3000/index.html?phone=12345678901&pwd=123123,在服务器端我们要获取其中的参数来进行操作,这种情况下,就要对请求过来的网址进行拆解了.下面将用3种方法实现: 1.js原生方法 思路:先通过split拆解?得到字符串phone=12345678901&pwd=123123   ,然后在通过split拆解&符号左右的字符串,最后再通过

Openerp 中打开 URL 的三种 方法

来自:http://shine-it.net/index.php/topic,8013.0.html 最近总结了,Openerp 中打开 URL 的三种 方法: 一.在form view 添加 <a>标签 二.使用url widget, <field name="field_name" widget="url"/> 三.使用按钮,return { 'type': 'ir.actions.act_url', 'http://www.opener

vue-cli 利用 webpack 给生产环境和发布环境配置不同的接口地址的三种方法

第一种方法: 在/config/dev.env.js下配置如下 在/config/prod.env.js下配置如下 已经分别设定路径,接下来就是如何调用的问题了. 原来api文件里代码如图所示 修改为 然后就完成了我们的配置工作.最后,重启项目,就能使新配置的接口地址生效了. 在经过这样的配置之后,我们在运行 npm run dev 的时候,跑的就是开发环境的接口.而我们运行 npm run build 打包项目的时候,打包的是服务器正式接口,我们就不用调来调去得了. 第二种方法: 可以使用 "

简单的css js控制table隔行变色

(1)用expression 鼠标滑过变色: <style type="text/css"><!-- table { background-color:#000000; cursor:hand; width:100%; }td { onmouseover: expression(onmouseover=function (){this.style.borderColor ='blue';this.style.color='red';this.style.backgro

微信支付支付宝支付生成二维码的方法(php生成二维码的三种方法)

如果图简单,可以用在线生成 http://pan.baidu.com/share/qrcode?w=150&h=150&url=http://www.xinzhenkj.com 最简单最实例的goolge开源方法 1.google开放api 代码如下: [php] view plain copy <span style="font-size:14px;">$urlToEncode="http://www.helloweba.com"; g