1.Zint生成二维码

http://sourceforge.net/projects/zint/

【1】从上述站点下载Zint工具

【2】安装Zint工具

【3】使用Zint工具生成二维码,注意选择类型,并输入要生成的文本,此处我输入的是Hello World,Everyone!

【4】保存Q-R二维码图像

这样我们的Q-R二维码图像就保存成功了【保存为hello.png】。

2.使用Zxing进行解码

Zxing是大名鼎鼎的条码处理开源项目,提供了多个平台上各种标准条形码的生成与解码工具。

https://github.com/zxing

Zxing提供了Android,Java,IPhone,Objective-C,C++,Jruby,Qt, .NET等各个平台库,其内容十分庞大,这里就不主要介绍了。下面,我们利用Zxing提供的JRuby项目进行简单的解码操作,把刚才生成的二维码图片作为输入,看看能否得到预期的输出。

【1】安装JRuby

由于Zxing原生于Java,因此它提供的库是JRuby版本的,于是先安装JRuby。(之所以选用JRuby是因为它比较轻量级,简单好用)

http://jruby.org/ 安装JRuby非常简单,只需3步:

(1)下载Jruby zip包

(2)解压JRuby

(3)将Jruby下bin目录所在路径加入PATH环境变量

(4)完成(在cmd中输入jruby -v测试是否安装成功)

【2】安装Zxing for ruby

https://github.com/ecin/zxing.rb

打开cmd,输入jruby -S gem install zxing等待数秒,jruby会为我们装好zxing。此时,我们就可以在ruby代码中import zxing了!

【3】编写解码程序

解码程序非常简单,在刚才保存图片的文件夹下新建一个ruby文件【1.ruby】,程序代码只需3行:

 require 'zxing'

 result = ZXing.decode 'hello.png'

 puts result

简单的说,就是调用Zxing中的decode方法,输入参数为同目录下的“hello.png"文件,并将输入保存在result中。

【4】执行解码程序

打开cmd,执行jruby 1.rb,其输出结果果然和我们输入时相同。

3.基于.NET的简单编解码工具

【1】下载Zxing.NET工具

http://zxingnet.codeplex.com/releases/view/117068

下载后,将其解压到任意位置,我们之后会用到其中的dll文件。

【2】在VS2013中建立winForm应用程序

【3】添加引用

添加引用时,请注意对应版本!!!选择对应版本的zxing.dll,将其加入到引用当中。

【4】设计GUI界面

这里就展示一下,详细请下载工程代码(附件)

(1)输入文本,点击Generate,生成QR-Code

(2)点击Save,选择路径,保存QR-Code

(3)点击Decoding,选择相应的QR-Code文件,解码QR-Code,并将文本显示在Result中!

【5】编码

核心代码1:生成QR-Code

核心代码2:解码QR-Code

【6】功能展示

(1)生成QR-Code

输入Hello World!点击Generate!

(2)保存QR-Code

(3)解码QR-Code

这次我们选择最开始我们利用Zint生成的hello.png,看看能否获得同样的结果。

我们看到,结果与JRuby输出的结果相同。

【7】最后项目源码分享,欢迎进一步探讨,Thank you for your support!

Click me to get code.

使用Zint和Zxing实现二维码的编码与解码(Using open-source tools to generate and decode Q-R code)的更多相关文章

  1. android 使用开源库zxing生成二维码,扫描二维码【转】

    转自:http://blog.csdn.net/qq_16064871/article/details/52422723 zxing是一个开放源码的,用Java实现的多种格式的1D/2D条码图像处理库 ...

  2. 提高zxing生成二维码的容错率及zxing生成二维码的边框设置

    最近做了一个项目要生成二维码,跟几年前不同,最近大家都喜欢在二维码中间加logo. 加logo倒是不难,两个图片叠一起就是了,但是遇到一个新问题,logo加得太大的话,会导致二维码扫描不出来;加的太小 ...

  3. zxing 生成二维码

    一.zxing介绍 zxing是google提供生成.解析一维码.二维码的开源库. 二.使用 2.1 maven pom 配置 <dependency> <groupId>co ...

  4. java利用Google Zxing实现 二维码生成与解析

    1.引入zxing 2.使用下面两个类:QRCodeUtil.java和BufferedImageLuminanceSource.java 3.新建单元测试类 复制下面测试代码即可. 1.pom文件中 ...

  5. 【转】Android平台下利用zxing实现二维码开发

    http://www.cnblogs.com/dolphin0520/p/3355728.html 现在走在大街小巷都能看到二维码,而且最近由于项目需要,所以研究了下二维码开发的东西,开源的二维码扫描 ...

  6. (转)ZXing解析二维码

    1 ZXing解析二维码 上一篇文件已经说过如何用ZXing进行生成二维码和带图片的二维码,下面说下如何解析二维码 二维码的解析和生成类似,也可以参考google的一个操作类 BufferedImag ...

  7. (转)ZXing生成二维码和带logo的二维码,模仿微信生成二维码效果

    场景:移动支付需要对二维码的生成与部署有所了解,掌握目前主流的二维码生成技术. 1 ZXing 生成二维码 首先说下,QRCode是日本人开发的,ZXing是google开发,barcode4j也是老 ...

  8. [置顶] xamarin android使用zxing扫描二维码

    好久没写了,这片文章篇幅不长,概述一下在xamarin android中用 ZXing.Net.Mobile库扫描二维码读取url的示例.扫码支付,扫码登录,App上各种各样的扫码,好像没个扫码的就有 ...

  9. Android高级控件(三)—— 使用Google ZXing实现二维码的扫描和生成相关功能体系

    Android高级控件(三)-- 使用Google ZXing实现二维码的扫描和生成相关功能体系 摘要 现在的二维码可谓是烂大街了,到处都是二维码,什么都是二维码,扫一扫似乎已经流行到习以为常了,今天 ...

随机推荐

  1. Angular - angularjs2 一些报错的概览(数据为json格式)

    {"Unterminated string literal.": "未终止的字符串文本.","Identifier expected.": ...

  2. linux 下 docker-compose安装

    docker和dockers-compose的版本兼容对照 以下是我的服务器的相关信息 linux版本 [root@izbp16fm097gaw3tdaog2wz bin]# cat /proc/ve ...

  3. VMware安装Ubuntu配置NAT模式下静态IP,解决访问外网问题

    安装好VMware后,打开网络连接可以看到有VMware Network Adapter VMnet1和VMware Network Adapter VMnet8两个网络适配器,VMnet1是针对桥接 ...

  4. python入门:输出1-10的所有数

    #!/usr/bin/env python # -*- coding:utf-8 -*- #输出1-10的所有数 """ 变量kaishi的赋值为数字1,while 真, ...

  5. vue渲染函数&JSX

    Vue推荐在绝大多数情况下使用template来创建你的HTML.然而在一些场景中,你真的需要JavaScript的完全编程能力,这时你可以使用render函数,它比template跟接近编译器. 虚 ...

  6. angular4使用代理

    1. 在angular-cli项目根目录下创建proxy.config.json { "/api/v1": { "target": "http://1 ...

  7. mysql的字符串连接符

    以前用SQL Server 连接字符串是用“+”,现在数据库用mysql,写个累加两个字段值SQL语句居然不支持"+",郁闷了半天在网上查下,才知道mysql里的+是数字相加的操作 ...

  8. 反爬虫之搭建IP代理池

    反爬虫之搭建IP代理池 听说你又被封 ip 了,你要学会伪装好自己,这次说说伪装你的头部.可惜加了header请求头,加了cookie 还是被限制爬取了.这时就得祭出IP代理池!!! 下面就是requ ...

  9. 五一4天就背这些Python面试题了,Python面试题No12

    第1题: Python 中的 os 模块常见方法? os 属于 python内置模块,所以细节在官网有详细的说明,本道面试题考察的是基础能力了,所以把你知道的都告诉面试官吧 官网地址 https:// ...

  10. bin、hex、elf、axf文件的区别

    1.bin Bin文件是最纯粹的二进制机器代码, 或者说是"顺序格式".按照assembly code顺序翻译成binary machine code,内部没有地址标记.Bin是直 ...