生成二维码

目的:生成一个二维码

效果图:有兴趣的可以扫一扫

--------------------------------------------------------------------------

先说第一张二维码(带动漫头像的): from MyQR import myqr

# myqr不支持中文
def generate_complex():
    myqr.run(
        words="Welcome to zihan's blog",
        version=5,
        level="H",
        picture="./image/girl.jpg",
        colorized=True,  # True为彩色 False为黑白
        save_name="girl.png",
        save_dir=os.getcwd() + "/image"
    )

这种二维码有一个弊端,就是不支持中文。如果你写入中文会报错ValueError: Wrong words! Make sure the characters are supported!

再说第二张二维码(不带动漫头像): import qrcode

def generate_simple():
    # 共40个尺寸,Version1是21*21, Version2是25*25。 公式:(V-1)*4 + 21
    qr = qrcode.QRCode(
        version=5,  # V = 5
        error_correction=qrcode.constants.ERROR_CORRECT_L,  # 纠错等级
        box_size=8,  # 二维码的像素点
    )

    # 二维码添加数据
    qr.add_data("欢迎来到子涵的博客!")

    # 生成二维码
    qr.make(fit=True)
    img = qr.make_image()
    # 保存二维码图片
    img.save("./image/img_data.png")
    img.show()

这个库是支持中文的。

create_two.py

#!/usr/bin/env python
# _*_ coding: UTF-8 _*_
"""=================================================
@Project -> File    : six-dialog_design -> create_two.py
@IDE     : PyCharm
@Author  : zihan
@Date    : 2020/5/27 13:44
@Desc    :生成二维码
================================================="""
import qrcode
import os
from MyQR import myqr


def generate_simple():
    # 共40个尺寸,Version1是21*21, Version2是25*25。 公式:(V-1)*4 + 21
    qr = qrcode.QRCode(
        version=5,  # V = 5
        error_correction=qrcode.constants.ERROR_CORRECT_L,  # 纠错等级
        box_size=8,  # 二维码的像素点
    )

    # 二维码添加数据
    qr.add_data("欢迎来到子涵的博客!")

    # 生成二维码
    qr.make(fit=True)
    img = qr.make_image()
    # 保存二维码图片
    img.save("./image/img_data.png")
    img.show()


# myqr不支持中文
def generate_complex():
    myqr.run(
        words="Welcome to zihan's blog",
        version=5,
        level="H",
        picture="./image/girl.jpg",
        colorized=True,  # True为彩色 False为黑白
        save_name="girl.png",
        save_dir=os.getcwd() + "/image"
    )


def main():
    # 生成简单的二维码
    # generate_simple()
    generate_complex()


if __name__ == '__main__':
    main()
View Code

另外,说一下,对于myqr的word和qrcode的add_data里面的数据,可以不是字符串,可以是链接,它会自动跳转哦,不信拿http://www.baidu.com试试。

原文地址:https://www.cnblogs.com/smart-zihan/p/12981775.html