目的:生成一个二维码
效果图:有兴趣的可以扫一扫
--------------------------------------------------------------------------
先说第一张二维码(带动漫头像的): 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
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
#!/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()
另外,说一下,对于myqr的word和qrcode的add_data里面的数据,可以不是字符串,可以是链接,它会自动跳转哦,不信拿http://www.baidu.com试试。