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

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行:

1 require ‘zxing‘
2
3 result = ZXing.decode ‘hello.png‘
4
5 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.

时间: 2024-10-05 12:27:31

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

【Java】利用Java对网址进行二维码的编码与解码操作

二维码之所以能够封装图片.文件等主要是把图片.文件等URL编码成二维码,用户一扫手机自动访问. 上一次在<[jQuery]使用jquery-qrcode插件把网址转化成二维码,手机扫一扫即可访问>(点击打开链接)使用jquery-qrcode插件配合jquery能够把网址编码成字符串,在网址上显示编码后的二维码,移动设备能够直接扫一扫. 这次将在Java中实现对二维码的编码与解码输出到磁盘上,无需在网页中进行,而且还可以解码,但是步骤比较复杂而已. Java自身当然没有二维码的编码与解码的功能

Android基于Google Zxing实现二维码/条形码扫描、生成二维码/条形码

 二维码/条形码生成器 二维码/条形码扫描器 一.二维码与条形码工作原理 目前的很多应用上都有扫码功能,当时微信推出二维码扫码功能时,觉得imagine,通过一张简单的图片就能扫描添加还有,还有分享名片功能(也是一张二维码图片,识别扫描). 下面小编将通过文章主要介绍QRCode方面技术. QRCode是被广泛应用的一种二维码,解码速度快.二维码相对于条形码来说,二维码的存储数据量更大,空间利用率高,有一定的容错性. 二维码原理介绍: 二维码是用某种特定的几何图形按一定的规律在平面上分布的黑

完美解决Android使用Zxing扫描二维码改成竖屏后,后面的预览画面出现了拉伸,扭曲的情况

完美解决解决Android使用Zxing扫描二维码改成竖屏后,后面的预览画面出现了拉伸,扭曲的情况 第一步:找到com.zxing.camera包下的CameraConfigurationManager.java文件中的void initFromCameraParameters(Camera camera)方法 第二步:在 Log.d(TAG, "Screen resolution: " + screenResolution);后加上如下的代码 Point screenResoluti

ZXing生成二维码和带logo的二维码,模仿微信生成二维码效果

首先说下,QRCode是日本人开发的,ZXing是google开发,barcode4j也是老美开发的,barcode4j对一维条形码处理的很好,而且支持的格式很多,当然也可以对二维码进行处理,效果个人感觉没有前两种好;ZXing对j2me,j2se,还有Android等支持也比较好,如果你是搞Android的或以后准备走Android,建议还是用zxing的比较好,毕竟都一个母亲(goole)生的,QRCode就不用说了吧,虽说技术无国界,但是国人还是有点.... 好,言归正传,java用ZXi

ZXing解析二维码

上一篇文件已经说过如何用ZXing进行生成二维码和带图片的二维码,下面说下如何解析二维码 二维码的解析和生成类似,也可以参考google的一个操作类 BufferedImageLuminanceSource类,该类可在google的测试包中找到,另外j2se中也有该类,你可以将该类直接拷贝到源码中使用,你也可以自己写个. import java.awt.Graphics2D; import java.awt.geom.AffineTransform; import java.awt.image.

zxing生成二维码设置边框颜色

真是研究了很久很久,满满的泪啊 zxing生成二维码,默认是可以增加空白边框的,但是并没有说设置边框颜色的属性. 其中增加空白边框的属性的一句话是: Map hints = new HashMap();hints.put(EncodeHintType.MARGIN, 1); 使用这句话设置边框,留出来的边框的颜色,就是二维码中主颜色的以外的那个颜色.通常主颜色都是黑色,背景色都是白色.如下二维码的边框的颜色,就是除了绿色以外的那个颜色. 所以并没有设置边框颜色的属性,那该怎么办?比如:要求使用P

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

http://www.cnblogs.com/dolphin0520/p/3355728.html 现在走在大街小巷都能看到二维码,而且最近由于项目需要,所以研究了下二维码开发的东西,开源的二维码扫描库主要有zxing和zbar,zbar在iPos平台上应用比较成熟,而在Android平台上主流还是用zxing库,因此这里主要讲述如何利用zxing进行二维码开发. 1.如何将zxing的Android源码导入工程. 在导入zxing的android源码之前,先去官方下载zxing的源码:http

zxing实现二维码生成和解析

zxing实现二维码生成和解析 博客分类: 二维码 zxing 二维码的生成与解析.有多种途径.我选择用大品牌,google老大的zxing. gitHub链接是(我用的3.0.0,已经是nio了) https://github.com/zxing/zxing/tree/zxing-3.0.0 Java代码   // 其中输出图像和读取图像的类在core包 MultiFormatReader MultiFormatWriter // 生成矩阵的类在javase的包里 MatrixToImageW

java zxing实现二维码生成和解析zxing实现二维码生成和解析

zxing实现二维码生成和解析 二维码 zxing 二维码的生成与解析.有多种途径.我选择用大品牌,google老大的zxing. gitHub链接是(我用的3.0.0,已经是nio了) https://github.com/zxing/zxing/tree/zxing-3.0.0 Java代码   // 其中输出图像和读取图像的类在core包 MultiFormatReader MultiFormatWriter // 生成矩阵的类在javase的包里 MatrixToImageWriter