詳解三種二維碼的開源工具的不同之處

來源:互聯網
上載者:User
本文主要介紹了產生二維碼的開源工具的對比,附源碼下載,具有一定的參考價值,下面跟著小編一起來看下吧

某天發現產生二維碼的工具(zxing)啟動並執行很慢,於是乎上網上尋找產生二維碼的工具,發現常見的開源工具有如下三種:

  1. Zxing(zxing.dll)

  2. ThoughtWorks(ThoughtWorks.QRCode.dll)

  3. QrCodeNet(Gma.QrCodeNet.Encoding.dll)

選哪個好呢?那就自己手動比較一下吧。

首先就遇到一個大坑,為啥人家zxing的使用方式和自己的使用的不一樣,後來才發現zxing.dll其實有倆版,一個416kb,一個200多kb。我們原來用的是200多kb的,效率比較慢,那就用416kb的比較吧

zxing有倆版,都叫zxing.dll,都是產生二維碼的,可能作者還是一個人,但是使用方式和效率差距太大了,請認準416kb版本

1. 對被編碼的內容長度的支援,如下表所示:

可以看出ThoughtWorks對於編碼內容有長度限制(可以通過設定調整,但是還是很容易超長),基本已經被踢出局。)

2. 三種工具的執行效率

其中:twqr指ThoughtWorks,netqr指QrCodeNet。可以看出已經out出局的ThoughtWorks執行效率最快,而Zxing是QrCodeNet的2倍,但是時間都不是很長。而除了ThoughtWorks外另外倆個都會隨被編碼內容變長而增長。

3. 組建檔案大小的比較:

檔案大小QrCodeNet更小些,QrCodeNet甚至可以根據內容大小調整尺寸。而Zxing最大,不過Zxing的尺寸也是大於其他倆個的。

(zxing是設定象素大小,所以此處用於50x數值,因為只有100的倍數才能保證邊框的設定和實際產生的邊框大小相符;而ThoughtWorks和QrCodeNet設定數值,實際尺寸約是33x數值,和邊框值有關)

4. 邊框設定

該問題比較複雜,表格可以列很多,此處就概述下

  • ThoughtWorks預設不支援邊框,所以他設定尺寸是:33x數值+1

  • QrCodeNet支援無邊框,細邊框,粗邊框三種,所以設定的尺寸為:29x數值、33x數值、37x數值

  • Zxing尺寸和邊框可以任意設定,所以zxing優先保證尺寸,至於邊框是在滿足尺寸之後才會考慮邊框的大小,根據經驗尺寸是100的倍數時邊框支援的最好

5. 抉擇

已經對比完成了,大夥覺得選哪個呢?如果非要選一個我更傾向於選Zxing。不過我更想告訴大家的是,誰也不選,而是做一個代理模式,對外暴漏的是自己的介面,底層你管我用的是誰呢,說不定明天我就換了一個更美更好的介面呢。

6. 我要帶logo

二維碼必須帶logo,所以我從"諸葛風流"那偷來了源碼,會放到附件上。附件中已經是做好了代理模式的源碼,如果有用請點贊,用好請留言。

【相關推薦】

1.ASP免費視頻教程

2.ASP教程

3.李炎恢ASP基礎視頻教程

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.