generateQRImg.py 1.0 KB

123456789101112131415161718192021222324252627282930313233343536
  1. import qrcode
  2. from PIL import Image
  3. def create_qrcode(url, filename):
  4. qr = qrcode.QRCode(
  5. version=1,
  6. #设置容错率为最高
  7. error_correction=qrcode.ERROR_CORRECT_H,
  8. box_size = 10,
  9. border = 4,
  10. )
  11. qr.add_data(url)
  12. qr.make(fit = True)
  13. img = qr.make_image()
  14. #设置二维码为彩色
  15. img = img.convert("RGBA")
  16. icon = Image.open(filename)
  17. w, h = img.size
  18. factor = 4
  19. size_w = int(w / factor)
  20. size_h = int(h / factor)
  21. icon_w, icon_h = icon.size
  22. if icon_w > size_w:
  23. icon_w = size_w
  24. if icon_h > size_h:
  25. icon_h = size_h
  26. icon = icon.resize((icon_w, icon_h), Image.ANTIALIAS)
  27. w = int((w - icon_w) / 2)
  28. h = int((h - icon_h) / 2)
  29. icon = icon.convert("RGBA")
  30. newimg = Image.new("RGBA", (icon_w + 8, icon_h + 8), (255, 255, 255))
  31. img.paste(newimg, (w-4, h-4), newimg)
  32. img.paste(icon, (w, h), icon)
  33. img.save('qr.png', quality=100)
  34. if __name__ == '__main__':
  35. create_qrcode("http://python3web.com", 'logo.png')
  36. print('完成')