Python生成二维码

工作中用二维码扫描功能能带来不少的便利,简单看了一下,用Python和qrcode包来生成二维码其实很简单,

qrcode,详细信息查看pip qrcode,安装直接用pip命令安装即可。

纯文本二维码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
def generate_qrcode(data, file_name):

# 1. 实例化QRCode对象
qr = qrcode.QRCode(
version=1,
error_correction=qrcode.constants.ERROR_CORRECT_H,
box_size=10,
border=4
)
# 2. 添加数据
qr.add_data(data)
qr.make(fit=True)

# 3. 生成二维码
img = qr.make_image()

# 4. 保存二维码
img.save(file_name)

# 5. 展示二维码
img.show()

if __name__ == '__main__':
generate_qrcode("http://izheyi.com", 'text.png')

二维码显示:

带Logo二维码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
def generate_qrcode(data, file_name):
# 1. 实例化QRCode对象
qr = qrcode.QRCode(
version=1,
error_correction=qrcode.constants.ERROR_CORRECT_H,
box_size=10,
border=4
)
# 2. 添加数据
qr.add_data(data)
qr.make(fit=True)

# 3. 生成二维码
img = qr.make_image(fill_color="green", back_color="white")

# 4. 添加logo
icon = Image.open("logo.jpg") # 打开logo照片
img_w, img_h = img.size # 图片的宽高

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

icon = icon.resize((icon_w, icon_h), Image.ANTIALIAS)
w = int((img_w - icon_w) / 2)
h = int((img_h - icon_h) / 2)

img.paste(icon, (w, h), mask=None) # 添加logo照

# 5. 保存二维码
img.save(file_name)

# 6. 展示二维码
img.show()

if __name__ == '__main__':
generate_qrcode("http://izheyi.com", 'logo.png')

二维码显示:

还可以把二维码嵌入到页面中,以便更好的使用。

唐胡璐 wechat
欢迎您扫一扫上面的微信公众号,订阅我的博客!
分享创造价值,您的支持将鼓励我继续前行!