myqr生成个性二维码

使用MyQR成个性二维码

参考

实验楼:https://www.shiyanlou.com/courses/1126

github源码作者:https://github.com/sylnsfar/qrcode/blob/master/README-cn.md

MyQR简介

Python 二维码生成器

可生成普通二维码带图片的艺术二维码(黑白与彩色)动态二维码(黑白与彩色)

安装myqr

在Windows的dos界面下:

pip install myqr

生成二维码

from MyQR import myqr
myqr.run('http://www.baidu.com')

遇到的问题:提示没有PIL模块,运行失败

什么是PIL?

Python Imaging Library(缩写为PIL),Python影像库,是免费开源的。它支持对许多不同图像文件格式的打开,操作和保存。适用于windows, mac os, linux.PIL存储库的最后一次提交在2011年,为了支持对python3.x的支持,一个名为Pillow的后续项目分叉了存储库。

解决:

myqr库是sylnsfar在2013年提交到github上的,而且现在python3.x都是用的pillow来取代PIL,所以应该下载安装pillow库。

在Anaconda安装pillow:
在这里插入图片描述

扫描二维码关注公众号,回复: 9084079 查看本文章

安装基本没有什么问题。

再次执行:

输出:

line 16: mode: byte

进程已结束,退出代码 0

图片名默认是qrcode.png:

百度网址
有兴趣可以拿起手机扫一扫,可以访问百度!

生成艺术二维码

from MyQR import myqr
import os
picture_path = os.getcwd() + '\\' + 'Sources\\大笑.png'  # os.getcwd()获取当前工作目录
myqr.run('http://www.baidu.com', picture=picture_path, colorized=True, save_name='百度.png')
  • picture关键字指定图片路径

  • colorized关键字为True,则输出彩色图片,否则是黑白图片

  • save_name关键字指定生成二维码的名字

输出:

line 16: mode: byte

艺术二维码:

在这里插入图片描述

生成动态二维码

遇到的问题:

运行出错,提示没有imageio模块

解决方法:

继续使用Anaconda安装imageio包。

from MyQR import myqr
import os
picture_path = os.getcwd() + '\\' + 'Sources\\gakki.gif'
print(picture_path)
myqr.run('http://www.baidu.com', picture=picture_path, colorized=True, save_name='百度.gif')

需要注意的是要生成gif二维码,保存的文件名后缀也得是.gif。

输出:

line 16: mode: byte

在这里插入图片描述

模块探索

在使用myqr模块生成普通二维码,艺术二维码,动态二维码后,有必要稍微了解一下myqr模块。

  • myqr文件结构

    从实验楼截图过来的:

在这里插入图片描述

  • 参数了解

    from MyQR import myqr
    print(help(myqr))
    
    # 部分输出
    run(words, version=1, level='H', picture=None, colorized=False, contrast=1.0, brightness=1.0, save_name=None, save_dir='D:\\Anaconda\\envs\\test\\test')
            # Positional parameters #位置参数
            #   words: str
            #
            # Optional parameters  #可选参数
            #   version: int, from 1 to 40
            #   level: str, just one of ('L','M','Q','H')
            #   picutre: str, a filename of a image
            #   colorized: bool
            #   constrast: float
            #   brightness: float
            #   save_name: str, the output filename like 'example.png'
            #   save_dir: str, the output directory
    
    • words

      在命令后输入链接或者句子作为参数,然后在程序的当前目录中产生相应的二维码图片文件,默认命名为” qrcode.png“。

    • version

      控制边长,范围是1至40,数字越大边长越大;

    • level

      控制纠错水平,范围是L、M、Q、H,从左到右依次升高。

    • picture

      字符串,用来将QR二维码图像与一张同目录下的图片相结合,产生一张黑白图片。

    • colorized

      使产生的图片由黑白变为彩色的。True:彩色 False:黑白

    • contrast

      用以调节图片的对比度,1.0 表示原始图片,更小的值表示更低对比度,更大反之。默认为1.0

    • brightness

      用来调节图片的亮度,其余用法和取值与 contrast 相同。

    • save_name

      生成的文件名,格式可以是 .jpg.png.bmp.gif

    • save_dir

      保存位置

    • save_name

      生成的文件名,格式可以是 .jpg.png.bmp.gif

    • save_dir

      保存位置

发布了12 篇原创文章 · 获赞 0 · 访问量 290

猜你喜欢

转载自blog.csdn.net/ASCE_S/article/details/104074372