一、官方文档

https://pypi.org/project/qrcode/

https://pypi.org/project/MyQR/

二、下载包

pip install qrcode #方法多,体量小

pip install myqr #操作简单,功能强大

三、代码

qrcode一行字二维码

  1. import qrcode
  2. qrcode.make("不睡觉干嘛呢").get_image().show() #设置URL必须添加http://

qrcode一行字二维码

  1. import qrcode
  2. text = input("输入文字或URL:")
  3. img =qrcode.make(text)
  4. img.save() #保存图片至本地目录,可以设定路径
  5. img.show()

qrcode生成logo二维码

  1. from PIL import Image
  2. import qrcode,os
  3. def create_qrcode(url,qrcodename):
  4. qr = qrcode.QRCode(
  5. version=1, # 设置容错率为最高
  6. error_correction=qrcode.ERROR_CORRECT_H, # 用于控制二维码的错误纠正程度
  7. box_size=8, # 控制二维码中每个格子的像素数,默认为10
  8. border=1, # 二维码四周留白,包含的格子数,默认为4
  9. #image_factory=None, 保存在模块根目录的image文件夹下
  10. #mask_pattern=None
  11. )
  12. qr.add_data(url) # QRCode.add_data(data)函数添加数据
  13. qr.make(fit=True) # QRCode.make(fit=True)函数生成图片
  14. img = qr.make_image()
  15. img = img.convert("RGBA") # 二维码设为彩色
  16. logo = Image.open('xx.jpg') # 传gif生成的二维码也是没有动态效果的
  17. w , h = img.size
  18. logo_w , logo_h = logo.size
  19. factor = 4 # 默认logo最大设为图片的四分之一
  20. s_w = int(w / factor)
  21. s_h = int(h / factor)
  22. if logo_w > s_w or logo_h > s_h:
  23. logo_w = s_w
  24. logo_h = s_h
  25. logo = logo.resize((logo_w, logo_h), Image.ANTIALIAS)
  26. l_w = int((w - logo_w) / 2)
  27. l_h = int((h - logo_h) / 2)
  28. logo = logo.convert("RGBA")
  29. img.paste(logo, (l_w, l_h), logo)
  30. img.show()
  31. img.save(os.getcwd()+'/' + qrcodename + '.png', quality=100)

myqr动态二维码

  1. 相关参数:
  2. words:二维码内容,链接或者句子
  3. version:二维码大小,范围为[1,40]
  4. level:二维码纠错级别,范围为{L,M,Q,H},H为最高级,默认。
  5. picture:自定义二维码背景图,支持格式为 .jpg,.png,.bmp,.gif,默认为黑白色
  6. colorized:二维码背景颜色,默认为 False,即黑白色
  7. contrast:对比度,值越高对比度越高,默认为 1.0
  8. brightness:亮度,值越高亮度越高,默认为 1.0,值常和对比度相同
  9. save_name:二维码名称,默认为 qrcode.png
  10. save_dir:二维码路径,默认为程序工作路径
  1. # 调用库
  2. from MyQR import myqr
  3. # 函数部分
  4. myqr.run(
  5. # 网址
  6. words='https://wztlink1013.com',
  7. # 控制边长,范围是1到40,数字越大边长越大,默认边长是取决于你输入的信息的长度和使用的纠错等级
  8. version=5,
  9. # 控制纠错水平,范围是L、M、Q、H,从左到右依次升高
  10. level='H',
  11. # 将QR二维码图像与一张同目录下的图片相结合,此处设置该图片,可以是gif
  12. picture='./input/girl.gif',
  13. # 默认是黑白(False),可以选择彩色(True)
  14. colorized=True,
  15. # 调节图片的对比度,1.0 表示原始图片,更小的值表示更低对比度,更大反之。默认为1.0。
  16. contrast=1.0,
  17. # 调节图片的亮度,用法与contrast相同
  18. brightness=1.0,
  19. # 输出文件名,格式可以是jpg,png,bmp,gif
  20. save_name='girl.gif',
  21. save_dir='./output')