看到一个生成二维码的很有意思的文字,转载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)