新聞中心
這篇文章主要介紹計(jì)算機(jī)網(wǎng)絡(luò)中生成二維碼開源工具的的示例分析,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!
某天發(fā)現(xiàn)生成二維碼的工具(zxing)運(yùn)行的很慢,于是乎上網(wǎng)上尋找生成二維碼的工具,發(fā)現(xiàn)常見的開源工具有如下三種:
Zxing(zxing.dll)
ThoughtWorks(ThoughtWorks.QRCode.dll)
QrCodeNet(Gma.QrCodeNet.Encoding.dll)
選哪個(gè)好呢?那就自己手動(dòng)比較一下吧。
首先就遇到一個(gè)大坑,為啥人家zxing的使用方式和自己的使用的不一樣,后來才發(fā)現(xiàn)zxing.dll其實(shí)有倆版,一個(gè)416kb,一個(gè)200多kb。我們?cè)瓉碛玫氖?00多kb的,效率比較慢,那就用416kb的比較吧
(zxing有倆版,都叫zxing.dll,都是生成二維碼的,可能作者還是一個(gè)人,但是使用方式和效率差距太大了,請(qǐng)認(rèn)準(zhǔn)416kb版本)
1. 對(duì)被編碼的內(nèi)容長(zhǎng)度的支持,如下表所示:
可以看出ThoughtWorks對(duì)于編碼內(nèi)容有長(zhǎng)度限制(可以通過設(shè)置調(diào)整,但是還是很容易超長(zhǎng)),基本已經(jīng)被踢出局。)
2. 三種工具的執(zhí)行效率
其中:twqr指ThoughtWorks,netqr指QrCodeNet。可以看出已經(jīng)out出局的ThoughtWorks執(zhí)行效率最快,而Zxing是QrCodeNet的2倍,但是時(shí)間都不是很長(zhǎng)。而除了ThoughtWorks外另外倆個(gè)都會(huì)隨被編碼內(nèi)容變長(zhǎng)而增長(zhǎng)。
3. 生成文件大小的比較:
文件大小QrCodeNet更小些,QrCodeNet甚至可以根據(jù)內(nèi)容大小調(diào)整尺寸。而Zxing較大,不過Zxing的尺寸也是大于其他倆個(gè)的。
(zxing是設(shè)置象素大小,所以此處用于50x數(shù)值,因?yàn)橹挥?00的倍數(shù)才能保證邊框的設(shè)置和實(shí)際生成的邊框大小相符;而ThoughtWorks和QrCodeNet設(shè)置數(shù)值,實(shí)際尺寸約是33x數(shù)值,和邊框值有關(guān))
4. 邊框設(shè)置
該問題比較復(fù)雜,表格可以列很多,此處就概述下
ThoughtWorks默認(rèn)不支持邊框,所以他設(shè)置尺寸是:33x數(shù)值+1
QrCodeNet支持無邊框,細(xì)邊框,粗邊框三種,所以設(shè)置的尺寸為:29x數(shù)值、33x數(shù)值、37x數(shù)值
Zxing尺寸和邊框可以任意設(shè)置,所以zxing優(yōu)先保證尺寸,至于邊框是在滿足尺寸之后才會(huì)考慮邊框的大小,根據(jù)經(jīng)驗(yàn)尺寸是100的倍數(shù)時(shí)邊框支持的好。
5. 抉擇
已經(jīng)對(duì)比完成了,大伙覺得選哪個(gè)呢?如果非要選一個(gè)我更傾向于選Zxing。不過我更想告訴大家的是,誰(shuí)也不選,而是做一個(gè)代理模式,對(duì)外暴漏的是自己的接口,底層你管我用的是誰(shuí)呢,說不定明天我就換了一個(gè)更美更好的接口呢。
以上是“計(jì)算機(jī)網(wǎng)絡(luò)中生成二維碼開源工具的的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!
名稱欄目:計(jì)算機(jī)網(wǎng)絡(luò)中生成二維碼開源工具的的示例分析-創(chuàng)新互聯(lián)
本文來源:http://ef60e0e.cn/article/piccd.html