一、官方文档
https://pypi.org/project/qrcode/
https://pypi.org/project/MyQR/
二、下载包
pip install qrcode #方法多,体量小
pip install myqr #操作简单,功能强大
三、代码
qrcode一行字二维码
import qrcodeqrcode.make("不睡觉干嘛呢").get_image().show() #设置URL必须添加http://
qrcode一行字二维码
import qrcodetext = input("输入文字或URL:")img =qrcode.make(text)img.save() #保存图片至本地目录,可以设定路径img.show()
qrcode生成logo二维码
from PIL import Imageimport qrcode,osdef create_qrcode(url,qrcodename):qr = qrcode.QRCode(version=1, # 设置容错率为最高error_correction=qrcode.ERROR_CORRECT_H, # 用于控制二维码的错误纠正程度box_size=8, # 控制二维码中每个格子的像素数,默认为10border=1, # 二维码四周留白,包含的格子数,默认为4#image_factory=None, 保存在模块根目录的image文件夹下#mask_pattern=None)qr.add_data(url) # QRCode.add_data(data)函数添加数据qr.make(fit=True) # QRCode.make(fit=True)函数生成图片img = qr.make_image()img = img.convert("RGBA") # 二维码设为彩色logo = Image.open('xx.jpg') # 传gif生成的二维码也是没有动态效果的w , h = img.sizelogo_w , logo_h = logo.sizefactor = 4 # 默认logo最大设为图片的四分之一s_w = int(w / factor)s_h = int(h / factor)if logo_w > s_w or logo_h > s_h:logo_w = s_wlogo_h = s_hlogo = logo.resize((logo_w, logo_h), Image.ANTIALIAS)l_w = int((w - logo_w) / 2)l_h = int((h - logo_h) / 2)logo = logo.convert("RGBA")img.paste(logo, (l_w, l_h), logo)img.show()img.save(os.getcwd()+'/' + qrcodename + '.png', quality=100)
myqr动态二维码
相关参数:words:二维码内容,链接或者句子version:二维码大小,范围为[1,40]level:二维码纠错级别,范围为{L,M,Q,H},H为最高级,默认。picture:自定义二维码背景图,支持格式为 .jpg,.png,.bmp,.gif,默认为黑白色colorized:二维码背景颜色,默认为 False,即黑白色contrast:对比度,值越高对比度越高,默认为 1.0brightness:亮度,值越高亮度越高,默认为 1.0,值常和对比度相同save_name:二维码名称,默认为 qrcode.pngsave_dir:二维码路径,默认为程序工作路径
# 调用库from MyQR import myqr# 函数部分myqr.run(# 网址words='https://wztlink1013.com',# 控制边长,范围是1到40,数字越大边长越大,默认边长是取决于你输入的信息的长度和使用的纠错等级version=5,# 控制纠错水平,范围是L、M、Q、H,从左到右依次升高level='H',# 将QR二维码图像与一张同目录下的图片相结合,此处设置该图片,可以是gifpicture='./input/girl.gif',# 默认是黑白(False),可以选择彩色(True)colorized=True,# 调节图片的对比度,1.0 表示原始图片,更小的值表示更低对比度,更大反之。默认为1.0。contrast=1.0,# 调节图片的亮度,用法与contrast相同brightness=1.0,# 输出文件名,格式可以是jpg,png,bmp,gifsave_name='girl.gif',save_dir='./output')
