Python实现动态二维码生成的示例代码

作者:李运辰 时间:2022-08-03 15:45:39 

大家好,我是辰哥~

今天给大家分享两个制作二维码的Python库,可以生成普通的二维码、图片背景版二维码、动图GIF版二维。

1.MyQR

安装

pip install MyQR

普通的二维码制作

from MyQR import myqr
#运行
myqr.run('http://mtw.so/5w0Ubz')

二维码附上了链接,用手机扫的话,就可以直接打开所带的链接

生成的二维码如下:

Python实现动态二维码生成的示例代码

微信扫码的结果如下:

Python实现动态二维码生成的示例代码

带背景图片的二维码制作

from MyQR import myqr
text = "http://mtw.so/5w0Ubz"
#给二维码添加图片背景
myqr.run(
    text,
    picture='./pythonyjz.jpg',
    colorized=True,
    version=8
)

背景图片(pythonyjz.jpg)

Python实现动态二维码生成的示例代码

参数说明

  • words:二维码内容

  • version:二维码大小,范围为 [1,40]

  • picture:二维码背景图 .jpg,.png,.bmp,.gif,默认为黑白色

  • colorized:二维码背景颜色,默认 False,即黑白色

  • save_name:二维码名称,默认为 qrcode.png

  • save_dir:二维码路径,默认为程序当前路径

生成的二维码如下:

Python实现动态二维码生成的示例代码

带动图背景的二维码制作

from MyQR import myqr

text = "http://mtw.so/5w0Ubz"
#给二维码添加动图gif背景
myqr.run(
    text,
    #动图gif
    picture='./pythonyjz.gif',
    colorized=True,
    version=8
)

动图(pythonyjz.gif)如下:

Python实现动态二维码生成的示例代码

生成的动图如下:

Python实现动态二维码生成的示例代码

图片背景的二维码和动图GIF背景的二维码,除了传入的图片格式不一样外,其他的设置都可以通用。

2.qrcode

安装

pip install qrcode
pip install Image
pip install matplotlib

简单的二维码制作

默认参数版

# 导入模块
import qrcode
# 传入将要生成二维码的URL
img = qrcode.make('http://mtw.so/5w0Ubz')
# 保存
img.save('python研究者-1.png')

生成的二维码如下:

Python实现动态二维码生成的示例代码

自定义参数版

import qrcode
qr = qrcode.QRCode(
    version=10,
    # 二维码的纠错功能
    error_correction=qrcode.constants.ERROR_CORRECT_L,
    # 二维码中每个小格子包含的像素
    box_size=10,
    # 边框包含的格子数,默认为4
    border=4,
)
# 添加数据
qr.add_data('http://mtw.so/5w0Ubz')
# 填充数据
qr.make(fit=True)
# 二维码的背景色和格子色
img=qr.make_image(fill_color='black', back_color='white');
img.save('python研究者-2.png')

生成的二维码如下:

Python实现动态二维码生成的示例代码

带背景图片的二维码制作

from PIL import Image
import qrcode
import matplotlib.pyplot as plt
qr = qrcode.QRCode(
    version=1,
    error_correction=qrcode.constants.ERROR_CORRECT_H,
    box_size=5,
    border=4,
)

# 添加数据
qr.add_data("http://mtw.so/5w0Ubz")
# 填充数据
qr.make(fit=True)
# 生成图片
img = qr.make_image(fill_color="green", back_color="white")

# 添加logo,打开logo照片
icon = Image.open("pythonyjz.jpg")
# 获取图片的宽高
img_w, img_h = img.size
# 参数设置logo的大小
factor = 6
size_w = int(img_w / factor)
size_h = int(img_h / factor)
icon_w, icon_h = icon.size
if icon_w > size_w:
    icon_w = size_w
if icon_h > size_h:
    icon_h = size_h
# 重新设置logo的尺寸
icon = icon.resize((icon_w, icon_h), Image.ANTIALIAS)
# 得到画图的x,y坐标,居中显示
w = int((img_w - icon_w) / 2)
h = int((img_h - icon_h) / 2)
# 黏贴logo照
img.paste(icon, (w, h), mask=None)
# 保存img
img.save('python研究者-3.png')

生成的二维码如下:

Python实现动态二维码生成的示例代码

总结

文章介绍了两种不同制作二维码的库,以及对应的使用,感兴趣的可以自己动手试试!!

来源:https://mp.weixin.qq.com/s/gQzUowOZ87vuwMl08HTyYw

标签:Python,动态,二维码
0
投稿

猜你喜欢

  • 存储过程优缺点分析

    2012-04-13 11:39:56
  • php实现通过cookie换肤的方法

    2023-11-23 17:57:07
  • 通过模版字符串及JSON数据进行目标内容整理的一个小方法

    2010-01-12 16:55:00
  • sql自动增长标识导致导入数据问题的解决方法

    2023-07-04 04:39:22
  • 按钮上的内容

    2007-11-27 00:13:00
  • 实现一个获取元素样式的函数getStyle

    2009-02-10 10:37:00
  • 主页移动背景代码

    2009-11-16 17:54:00
  • 利用ASP.NET MVC和Bootstrap快速搭建响应式个人博客站(一)

    2023-07-06 23:47:39
  • CSS关于Border你可能会不注意的东西

    2007-10-20 13:50:00
  • Python3自动安装第三方库,跟pip说再见

    2022-03-12 04:34:15
  • iframe全跨域高度自适应解决方案

    2008-12-21 16:16:00
  • python中文分词库jieba使用方法详解

    2021-11-14 13:31:06
  • Python反射和内置方法重写操作详解

    2023-07-06 12:00:02
  • 使用JavaScript访问XML数据

    2023-06-29 22:19:08
  • python实现微信自动回复机器人功能

    2023-12-30 01:01:40
  • PHP利用header跳转失效的解决方法

    2023-09-07 23:39:45
  • Python Learning 列表的更多操作及示例代码

    2022-11-15 01:05:33
  • TensorFlow的权值更新方法

    2022-12-24 21:41:08
  • Centos 6.4 安装Python 2.7 python-pip的详细步骤

    2023-12-01 10:21:03
  • Yahoo!网站性能最佳体验的34条黄金守则——JavaScript和CSS

    2008-05-29 13:34:00
  • asp之家 网络编程 m.aspxhome.com