Python将文本生成二维码——转

看到一个生成二维码的很有意思的文字,转载Mark一下,后面慢慢研究。

参考连接:https://www.cnblogs.com/babycool/p/4734819.html

 1 __author__ = ''
 2 #coding:utf-8
 3 '''
 4 Python生成二维码 v1.0
 5 主要将文本生成二维码图片
 6 
 7 测试一:将文本生成白底黑字的二维码图片
 8 测试二:将文本生成带logo的二维码图片
 9 
10 '''
11 
12 __author__ = 'Xue'
13 
14 import qrcode
15 from PIL import Image
16 import os
17 
18 #生成二维码图片
19 def make_qr(str,save):
20     qr=qrcode.QRCode(
21         version=4,  #生成二维码尺寸的大小 1-40  1:21*21(21+(n-1)*4)
22         error_correction=qrcode.constants.ERROR_CORRECT_M, #L:7% M:15% Q:25% H:30%
23         box_size=10, #每个格子的像素大小
24         border=2, #边框的格子宽度大小
25     )
26     qr.add_data(str)
27     qr.make(fit=True)
28 
29     img=qr.make_image()
30     img.save(save)
31 
32 
33 #生成带logo的二维码图片
34 def make_logo_qr(str,logo,save):
35     #参数配置
36     qr=qrcode.QRCode(
37         version=4,
38         error_correction=qrcode.constants.ERROR_CORRECT_Q,
39         box_size=8,
40         border=2
41     )
42     #添加转换内容
43     qr.add_data(str)
44     #
45     qr.make(fit=True)
46     #生成二维码
47     img=qr.make_image()
48     #
49     img=img.convert("RGBA")
50 
51     #添加logo
52     if logo and os.path.exists(logo):
53         icon=Image.open(logo)
54         #获取二维码图片的大小
55         img_w,img_h=img.size
56 
57         factor=4
58         size_w=int(img_w/factor)
59         size_h=int(img_h/factor)
60 
61         #logo图片的大小不能超过二维码图片的1/4
62         icon_w,icon_h=icon.size
63         if icon_w>size_w:
64             icon_w=size_w
65         if icon_h>size_h:
66             icon_h=size_h
67         icon=icon.resize((icon_w,icon_h),Image.ANTIALIAS)
68         #详见:http://pillow.readthedocs.org/handbook/tutorial.html
69 
70         #计算logo在二维码图中的位置
71         w=int((img_w-icon_w)/2)
72         h=int((img_h-icon_h)/2)
73         icon=icon.convert("RGBA")
74         img.paste(icon,(w,h),icon)
75         #详见:http://pillow.readthedocs.org/reference/Image.html#PIL.Image.Image.paste
76 
77     #保存处理后图片
78     img.save(save)
79 
80 
81 if __name__=='__main__':
82     save_path='base__runmethod_02.png' #生成后的保存文件
83     logo='logo.jpg'  #logo图片
84 
85     path = os.getcwd() + r'\geckodriver.log'
86     print(path)
87     f = open(path,'r+',encoding='UTF-8' )
88 
89     i = f.read()
90     print (i)
91     str=i
92 
93     #make_qr(str)
94 
95     make_logo_qr(str,logo,save_path)

猜你喜欢

转载自www.cnblogs.com/zhangyamei/p/10536827.html
今日推荐