全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

生成二维码的开源工具对比(附源码)

某天发现生成二维码的工具(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,所以我从"诸葛风流"那偷来了源码,会放到附件上。附件中已经是做好了代理模式的源码,如果有用请点赞,用好请留言。

源码下载:http://xiazai./201701/yuanma/QRCreater_jb51.rar

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持!


# 二维码  # 开源  # 工具  # 使用开源工具制作网页验证码的方法  # 10款实用的PHP开源工具  # Java开源工具iText生成PDF简单实例  # 一个加密JavaScript的开源工具PACKER2.0.2  # 2019十大实用且重要的开源工具  # 的是  # 三种  # 自己的  # 可以看出  # 都是  # 我就  # 是在  # 来了  # 那就  # 才会  # 很容易  # 我用  # 可以通过  # 才发现  # 谁也  # 换了  # 做一个  # 象素  # 不支持  # 很长 


相关文章: 如何在云指建站中生成FTP站点?  c# Task.ConfigureAwait(true) 在什么场景下是必须的  如何在Ubuntu系统下快速搭建WordPress个人网站?  移动端手机网站制作软件,掌上时代,移动端网站的谷歌SEO该如何做?  如何快速辨别茅台真假?关键步骤解析  如何在Golang中使用encoding/gob序列化对象_存储和传输数据  ,想在网上投简历,哪几个网站比较好?  制作网站哪家好,cc、.co、.cm哪个域名更适合做网站?  rsync同步时出现rsync: failed to set times on “xxxx”: Operation not permitted  建站之星北京办公室:智能建站系统与小程序生成方案解析  建站之星免费版是否永久可用?  如何基于云服务器快速搭建个人网站?  天河区网站制作公司,广州天河区如何办理身份证?需要什么资料有预约的网站吗?  建站主机核心功能解析:服务器选择与网站搭建流程指南  家庭建站与云服务器建站,如何选择更优?  专业公司网站制作公司,用什么语言做企业网站比较好?  如何通过PHP快速构建高效问答网站功能?  详解免费开源的.NET多类型文件解压缩组件SharpZipLib(.NET组件介绍之七)  零服务器AI建站解决方案:快速部署与云端平台低成本实践  如何快速搭建支持数据库操作的智能建站平台?  制作网站怎么制作,*游戏网站怎么搭建?  如何通过建站之星自助学习解决操作问题?  昆明网站制作哪家好,昆明公租房申请网上登录入口?  家族网站制作贴纸教程视频,用豆子做粘帖画怎么制作?  佛山企业网站制作公司有哪些,沟通100网上服务官网?  小型网站建站如何选择虚拟主机?  如何快速查询网站的真实建站时间?  c# F# 的 MailboxProcessor 和 C# 的 Actor 模型  如何在IIS服务器上快速部署高效网站?  如何将凡科建站内容保存为本地文件?  大连 网站制作,大连天途有线官网?  如何用西部建站助手快速创建专业网站?  小视频制作网站有哪些,有什么看国内小视频的网站,求推荐?  网站制作与设计教程,如何制作一个企业网站,建设网站的基本步骤有哪些?  定制建站如何定义?其核心优势是什么?  早安海报制作网站推荐大全,企业早安海报怎么每天更换?  如何解决ASP生成WAP建站中文乱码问题?  深圳网站制作案例,网页的相关名词有哪些?  c# 在高并发下使用反射发射(Reflection.Emit)的性能  孙琪峥织梦建站教程如何优化数据库安全?  一键制作网站软件下载安装,一键自动采集网页文档制作步骤?  如何在沈阳梯子盘古建站优化SEO排名与功能模块?  TestNG的testng.xml配置文件怎么写    建站之星代理如何优化在线客服效率?  高防服务器:AI智能防御DDoS攻击与数据安全保障  ,网页ppt怎么弄成自己的ppt?  学校免费自助建站系统:智能生成+拖拽设计+多端适配  如何快速搭建自助建站会员专属系统?  如何获取PHP WAP自助建站系统源码? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。