Coder Social home page Coder Social logo

barcode's Introduction

barCode

这是一个生成条形码的小程序

功能概述:

该程序主要实现了code128B型条码和EAN13条码的编码与生成,关于这两种条码的编码规则,详细可参考doc目录下的文档,这里不再赘述。下面仅大致说明一下代码结构:

BarCode:条形码的编码类,该类的主要功能就是将条形码所表示的数字/字符等,按照指定的编码规则生成bs(10)串,也就是黑条和空白。
BarCodebox:该类负责画条形码,使用Qt的QPainter按照bs(10)串的顺序画黑条和空白,最终在界面显示条码。
Widget:该类负责界面的布局以及功能调用之间的逻辑(其实没多少功能)

运行截图:

code128B.png
EAN13.png
保存图片.png

小结:

这个程序是在2016年刚到公司实习时,针对一个小需求写的。当时太年轻,接到需求就开始着手研究条形码的编码规则,写了这么一个比较low的小程序,而完全没有想到其实有很多成熟的条形码编码及生成库可以用。虽然是重复的制造了一个很普通的轮子,但对于当时来讲,也算是有比较大的收获吧。当然写这么个轮子的更主要的原因是条形码的编码规则相对还算简单,之后又研究了一阵QRcode的编码规则,因为算法太过于复杂,果断用了现成的编码库。
现在回看当时写的代码,感觉还是有很多优化的地方,但是现在吧,没之前勤奋了,就这么着吧。
PS:这个小项目在搁置了7年之久后,没想到在2023年进行了突如其来的优化更新,原因是因为一个小兄弟邮件反馈说EAN13的编码算法有问题,经过分析发现关于前置码那里确实有bug,当初主要针对国家代码(69)进行了测试验证,其他类别的前置码着实疏忽了。修复bug后,闲着没事又对代码结构进行了些许优化调整,当职业码农重新翻起若干年前的代码,刹那间往事涌上心头。。。。

作者联系方式

邮箱:[email protected]
新浪微博:@为-何-而来

barcode's People

Contributors

justdoit-mqr avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.