使用segno(micro)qr码生成器模拟pyqrcode和qr code api

segno-mimos的Python项目详细描述


Segno Mimos-使Segno的API适应其他二维码库

segno-mimos旨在模拟其他python qr代码库的api。而这个 或多或少的工作在api方面,得到的qr码可能看起来不同。

目前,支持PyQRCodeqrcode

Segno Mimos不需要任何第三方LIB(如枕头或Pypng),它 只需要安装Segno

由于两个lib都不支持微qr码,所以这个lib只创建qr码。

用segno

替换pyqrcode

如果第三方lib使用pyqrcode而更改lib的代码不是 可能,使用:

>>>importsegno_mimos>>>segno_mimos.install_as_pyqrcode()

要在代码中用segno替换pyqrcode,请更改

>>>importpyqrcode

使用:

>>>fromsegno_mimosimportpyqrcode
在导入之后,您应该能够使用现有代码而无需使用任何代码。 更改:

>>>fromsegno_mimosimportpyqrcode>>># Example from PyQRCode README:>>>url=pyqrcode.create('http://uca.edu')>>>url.svg('uca-url.svg',scale=8)>>>url.eps('uca-url.eps',scale=2)>>>print(url.terminal(quiet_zone=1))

请注意,qr = pyqrcode.QrCode('Dark side of the Moon')没有 工作,使用工厂函数pyqrcode.create()

下面的segno.QRCode实例可以如下访问:

>>>fromsegno_mimosimportpyqrcode>>># qr behaves like pyqrcode.QRCode>>>qr=pyqrcode.create('Up Jumped the Devil')>>># Get the underlying Segno QRCode instance>>>segno_qr=qr.segno_qrcode

将qrcode替换为segno

如果第三方库使用qrcode,请在 导入第三方库:

>>>importsegno_mimos>>>segno_mimos.install_as_qrcode()

第三方库应自动使用segno。

因为qrcode有一个更复杂的api(即工厂)用 Segno可能更困难;在最简单的情况下,请更换

>>>importqrcode

在您的代码中使用:

>>>fromsegno_mimosimportqrcode>>># From now on, you can use qrcode as usual>>>img=qrcode.make('Some data here')>>>img.save('qrcode.png')>>># Segno Mimos provides the "constants" module as well, so this works, too>>>qr=qrcode.QRCode(version=1,...error_correction=qrcode.constants.ERROR_CORRECT_L,...box_size=10,...border=4)>>>img=qr.make_image()>>># Utilizing the "kind" parameter of qrcode works for PDF, PNG, and EPS files>>>img.save('qrcode.png',kind='png')# Unnecessary, since PNG is the default>>>img.save('qrcode.pdf',kind='pdf')>>>img.save('qrcode.eps',kind='eps')

如果您的代码使用任何标准图像工厂,请使用以下导入:

>>>fromsegno_mimosimportqrcode>>>importsegno_mimos.qrcode.image.svg>>>importsegno_mimos.qrcode.image.pure>>>qr=qrcode.QRCode(version=1,...error_correction=qrcode.constants.ERROR_CORRECT_L,...box_size=10,...border=4)>>># Use the image factory as usual, no code changes necessary>>>svg_img=qr.make_image(image_factory=qrcode.image.svg.SvgFragmentImage)>>>pure_img=qr.make_image(image_factory=qrcode.image.pure.PymagingImage)

“纯”映像工厂实际上与默认映像工厂相同,它 只是为了最小化代码更改而存在。此外,所有svg图像工厂 将二维码序列化为路径,而不是矩形的组合 (就像qrcode.image.svg.SvgImage那样)。svg工厂不需要 任何第三方lib(除了segno)如lxml等。

更改

0.2.1–2017-02-08

  • 修正了打印错误和内部更改,以支持PY 3更加突出

0.2.0–2017-02-08

  • 支持pyqrcode的qr code.xbm()方法,该方法将qr代码返回为 XBM图像(需要segno>;=0.2.4)。
  • 支持python qrcode数据优化。
  • 更好的测试覆盖率
  • 针对python 3.6的测试(针对py py、py 2.6、2.7、3.4、3.6的测试)

0.1.9–2016年9月19日

  • 添加了install_as_qrcodeinstall_as_pyqrcode,这可能有用 如果使用了qrcode或pyqrcode,则应替换为segno(无代码) 变化。
  • 修复了python打包。

0.1.8–2016年9月4日

  • 禁用自动错误增量(segno>;=0.1.7)(pyqrcode 也不支持qrcode)

0.1.7–2016年8月24日

  • 调整Segno的0.1.6 API更改

0.1.6–2016年8月17日

  • 内部代码更改
  • qrcode:无法使用 “格式”或“种类”参数。固定的。

0.1.5–2016年8月16日

  • 更新的文档
  • 已从PyQRCode.png()
  • 中删除返回语句
  • 内部代码更改
  • 将(内部)模块segno_mimos.qrcode.img重命名为_img以避免 与segno_mimos.qrcode.image
  • 混淆

0.1.4–2016年8月14日

  • 初始版本
  • 支持PYQRCODE1.2.1和QRCODE5.3

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java操作数组上的字符串   java JAXB内容未实例化   图形在Java中如何绘制垂直居中的字符串?   java Apache Ant:使用Junit时出现NoClassDefFoundError   java无法从服务器上运行perl脚本   如何在java中沿树进行预排序遍历,并打印0和1以对应每个节点上的特定字符?   java如何创建。p12文件?   java线程访问无效   java只匹配命名空间中的XML节点,而不知道NS前缀   从java获取2d arraylist元素   数组Java动态集合对象   java Xpath通过通配符或布尔运算查找以相同名称开头的节点?   java注释元素类型   java在中看不到Super()。反编译后的类文件