# -*- coding:utf-8 -*-
# 参考文档:
# https://blog.csdn.net/woshinia/article/details/8896444
'''
BEGIN:VCARD\n #名片开始
VERSION:3.0\n #版本3.0
FN:%s\n #名字
ORG:%s\n #公司
TITLE:%s\n #职位
ADR;WORK:%s\n #地址
TEL;WORK:%s\n #联系电话
EMAIL;WORK:%s\n #邮箱
URL:%s\n #个人主页
NOTE:%s\n #备注
END:VCARD #名片结束
'''
# vim: set ts=4 et sw=4 sts=4 fileencoding=utf-8 :
import time
from PIL import Image
import qrcode
'''
NOTE:这里是备注
TEL:021-39216256
'''
# input为: 姓名/职位/手机号码/邮箱@163.com/工作地址/公司名称/个人网站
data = input("请输入名片信息:")
datalist = data.split('/')
vstr = ''
N = 'ERROR'
# vCard内容
try:
N = datalist[0]
TITLE = datalist[1]
TEL = datalist[2]
ORG = datalist[5]
ADR = datalist[4]
EMAIL = datalist[3]
URL = datalist[6]
vstr = """
BEGIN:VCARD
VERSION:3.0
N:{}
TITLE:{}
TEL;WORK:{}
ORG:{}
ADR;WORK:{}
EMAIL;WORK:{}
URL:{}
END:VCARD
""".format(N,TITLE,TEL,ORG,ADR,EMAIL,URL)
except:
print('输入格式存在问题,3秒后退出')
time.sleep(3)
exit()
qr = qrcode.QRCode(
version=2,
error_correction=qrcode.constants.ERROR_CORRECT_H,
box_size=10,
border=1
)
qr.add_data(vstr)
qr.make(fit=True)
img = qr.make_image()
img = img.convert("RGBA")
icon = Image.open("logo.png")
img_w, img_h = img.size
factor = 4
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), icon)
img.save("test_qrcode1.png")
# qr = qrcode.QRCode(
# # version值为1~40的整数,控制二维码的大小,(最小值是1,是个12*12的矩阵)
# # 如果想让程序自动确定,将值设置为 None 并使用 fit 参数即可
# version=1,
# # error_correction: 控制二维码的错误纠正功能,可取值下列4个常量
# # ERROR_CORRECT_L: 大约7%或更少的错误能被纠正
# # ERROR_CORRECT_M(默认): 大约15%或更少的错误能被纠正
# # ERROR_CORRECT_Q: 大约25%或更少的错误能被纠正
# # ERROR_CORRECT_H: 大约30%或更少的错误能被纠正
# error_correction=qrcode.constants.ERROR_CORRECT_L,
# # 控制二维码中每个小格子包含的像素数
# box_size=1,
# # 控制边框(二维码与图片边界的距离)包含的格子数(默认为4,是相关标准规定的最小值)
# border=0,
# )
#
# # 将vCard数据填入qr
# qr.add_data(vstr)
#
# qr.make(fit=True)
#
# # 生成图片
# img = qr.make_image()
#
# # 将图片存入指定路径文件
# img.save('{}.jpeg'.format(N))
# 生成wifi连接二维码
from segno import helpers
qr = helpers.make_wifi(ssid="wifi名字", password="wifi密码", security="WPA/WPA2 PSK")
qr.save("wifi.png", scale=10)