使用segno(micro)qr码生成器模拟pyqrcode和qr code api
segno-mimos的Python项目详细描述
Segno Mimos-使Segno的API适应其他二维码库
segno-mimos旨在模拟其他python qr代码库的api。而这个 或多或少的工作在api方面,得到的qr码可能看起来不同。
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_qrcode和install_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