APP下载

二维码生成算法研究

2014-03-02程裕强刘爱民周国军

玉林师范学院学报 2014年5期
关键词:矩阵式玉林师范学院

□程裕强,刘爱民,周国军

(1,3.玉林师范学院 数学与信息科学学院,广西 玉林 537000;2.玉林师范学院 教育技术中心,广西 玉林 537000)

二维码生成算法研究

□程裕强1,刘爱民2,周国军3

(1,3.玉林师范学院 数学与信息科学学院,广西 玉林 537000;2.玉林师范学院 教育技术中心,广西 玉林 537000)

二维码技术被广泛应用,但是生成技术繁多,不易选择. 针对这个问题,本文主要研究了两种二维码生成方法,并通过具体代码实现. 对于二维码一般性需求,可以直接使用jquery-qrcode,快捷方便,但是jquery-qrcode存在依赖于浏览器、暂不支持中文等问题. 对于需要在二维码中添加Logo图片、彩色二维码等需求,可以使用Google公司提供的ZXing库来实现,该方法存在一定难度,需要编写的代码较多.

二维码;Logo二维码;彩色二维码

1 前言

在当今移动互联网时代,二维码得到了空前的广泛应用.二维码(Two-dimensional code),又称二维条码,它是用特定的几何图形按一定规律在平面(二维方向)上分布的黑白相间的图形,是所有信息数据的一把钥匙.在现代商业活动中,可实现的应用十分广泛,如:产品防伪/溯源、广告推送、网站链接、数据下载、商品交易、定位/导航、电子凭证、车辆管理、信息传递、名片交流、wifi共享等.[1]如今智能手机扫一扫功能的应用使得二维码更加普遍.

二维码按照生成原理可以分为矩阵式二维码或行列式二维码,常用的是矩阵式二维码.矩阵式二维码是在一个矩形空间通过黑、白像素在矩阵中的不同分布进行编码.在矩阵元素位置上,出现方点、圆点或其他形状点表示二进制“1”,不出现点表示二进制的“0”,点的排列组合确定了矩阵式二维码所代表的意义.矩阵式二维码是建立在计算机图像处理技术、组合编码原理等基础上的一种新型图形符号自动识读处理码制.具有代表性的矩阵式二维码有:Code One、Maxi Code、QR Code、Data Matrix等.

2 简单二维码生成

要生成二维码,可以直接使用jquery-qrcode,简单方便.jquery.qrcode.js是Jquery的一个插件,可在浏览器上生成QRCODE,并将生成的QRCODE嵌入到你的网页中.这个开源的三方库可以从https://github. com/jeromeetienne/jquery-qrcode下载获取.jquery.qrcode.js 是把它用jquery方式封装起来的,用它来实现图形渲染,其实就是画图,支持canvas和table两种方式.下面代码是在页面中通过引用jquery.qrcode.js来生成二维码.

程序运行结果如图1所示.

图1 简单二维码

jquery-qrcode存在问题:

1) 使用canvas方式渲染性能还是非常不错的,但是如果用table方式,性能不太理想,特别是IE系列的浏览器.

2) jquery-qrcode默认不支持中文.

3 基于Google ZXing的二维码实现

ZXing (Zebra Crossing)是Google提供一个开源的、支持多种格式的条形码图像处理库,提供了二维码的生成与解析的方法;ZXing使用Java实现,同时为其他语言提供接口[2].使用Zxing生成二维码,可以在二维码中添加Logo图片,可以设置二维码图片的颜色,可以满足人们对二维码更复杂的需求.

下面是一个通过Java语言编写的[3,4],使用Google公司的开源ZXing库,用于生成和解析二维码的程序.该程序增加了在二维码中添加Logo图片,生成彩色二维码等功能.

程序运行后,可以在D盘找到生成的二维码图片,如图2所示.打开该二维码图片后,可以使用手机二维码扫描软件进行扫描,测试结果如图3所示.

图2 带Logo的彩色二维码

图3 手机扫描二维码

4 结束语

本文主要研究了两种二维码生成方法,并通过具体代码实现.对于二维码一般性需求,可以直接使用jquery-qrcode,快捷方便,但是jquery-qrcode存在依赖于浏览器、暂不支持中文等问题.对于需要在二维码中添加Logo图片、彩色二维码等需求,可以使用Google公司提供的ZXing库来实现,该方法存在一定难度,需要编写的代码较多. ■

[1]百度百科,http://baike.baidu.com/view/132241. htm?fr=aladdin[EB/OL].

[2]梁燕来,程裕强. Java面向对象程序设计[M].北京:人民邮电出版社,2013.4.

[3]程裕强.编程语言中浮点数精度丢失问题[J].计算机安全(第148期),2013:59-61

[4]程裕强.浅谈加密算法教学改革[J].玉林师范学院学报(自然科学),2013,32(2):152-155

[5]程裕强.抽象工厂模式探讨[J].玉林师范学院学报(自然科学),2014,35(2):82-86

[6]王杨.二维码传播信息的应用及分析[D].太原:山西大学,2013.

【责任编辑 谢明俊】

The Design and Realization of Two-dimensional Code Algorithm

CHEN Yu-qiang1, LIU Ai-ming2, ZHOU Guo-jun3
(1, 3. College of Mathematics and Information Science, Yulin Normal University, Yulin, Guangxi 537000; 2. Educational Technology Center, Yulin Normal University, Yulin, Guangxi 537000)

This paper studies the two-dimensional code generation methods, and Coding. It can be used directly jquery-qrcode for the demand for a general two-dimensional code, fast and convenient, but jquery-qrcode existence depends on the browser and does not support Chinese and other issues. For the two-dimensional code with Logo and the color two-dimensional code and other needs, you can use Google provided ZXing library to implement this method there is a certain degree of difficulty, the code you need to write more.

two-dimensional code, two-dimensional code with Logo, color two-dimensional code

TP309.7

A

1004-4671(2014)05-0118-05

2014-09-03

2013年度玉林师范学院校级资助项目“基于面向对象思想的汉字结构研”,编号:2013YJYB02;2014年度广西高校科学技术研究资助项目“多媒体保密通信中的混沌同步控制技术与密码算法研究”,编号:YB2014316。

程裕强(1982~)男,汉族,玉林师范学院数学与信息科学学院硕士,讲师,主要研究方向:本体论,中文信息处理。

猜你喜欢

矩阵式玉林师范学院
王玉林作品
遵义师范学院作品
通化师范学院美术学院作品选登
奥迪e-tron
电除尘矩阵式电磁振打器控制系统改进优化
洛阳师范学院
邱玉林艺术作品欣赏
寻找最美校园 牡丹江师范学院
Unit 6 Travelling around Asia Listening and speaking
四川省某医学院矩阵式临床素质团队教育模式下培养时间与科研产出关系的探讨