使用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!

image

【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測試是否安裝成功)

image

【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,其輸出結果果然和我們輸入時相同。

image

 

3.基於.NET的簡單編解碼工具

【1】下載Zxing.NET工具

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

下載后,將其解壓到任意位置,我們之后會用到其中的dll文件。

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

image

【3】添加引用

添加引用時,請注意對應版本!!!選擇對應版本的zxing.dll,將其加入到引用當中。

image

image

【4】設計GUI界面

這里就展示一下,詳細請下載工程代碼(附件)

(1)輸入文本,點擊Generate,生成QR-Code

(2)點擊Save,選擇路徑,保存QR-Code

(3)點擊Decoding,選擇相應的QR-Code文件,解碼QR-Code,並將文本顯示在Result中!

image

【5】編碼

核心代碼1:生成QR-Code

image

核心代碼2:解碼QR-Code

image

【6】功能展示

(1)生成QR-Code

輸入Hello World!點擊Generate!

image

(2)保存QR-Code

imageimage

(3)解碼QR-Code

這次我們選擇最開始我們利用Zint生成的hello.png,看看能否獲得同樣的結果。

image

我們看到,結果與JRuby輸出的結果相同。

【7】最后項目源碼分享,歡迎進一步探討,Thank you for your support!

Click me to get code.

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM