Generate QR codes for URLs, text, WiFi credentials, contact cards, and more. Use when creating scannable links for marketing materials, sharing WiFi passwords, generating business cards, or creating quick access to digital content. Supports custom styling, error correction levels, and multiple export formats.
为网址、WiFi、联系人等创建二维码。
python
import qrcode
def generateqr(data, outputpath=qr_code.png):
生成简单二维码
qr = qrcode.QRCode(
version=1,
errorcorrection=qrcode.constants.ERRORCORRECT_L,
box_size=10,
border=4,
)
qr.add_data(data)
qr.make(fit=True)
img = qr.makeimage(fillcolor=black, back_color=white)
img.save(output_path)
return output_path
python
def generatewifiqr(ssid, password, security=WPA, output=wifi_qr.png):
生成WiFi连接二维码
格式:WIFI:S:ssid;T:security;P:password;;
wifi_string = fWIFI:S:{ssid};T:{security};P:{password};;
return generateqr(wifistring, output)
python
def generatevcardqr(name, phone, email, output=contact_qr.png):
生成vCard二维码
vcard = fBEGIN:VCARD
VERSION:3.0
FN:{name}
TEL:{phone}
EMAIL:{email}
END:VCARD
return generate_qr(vcard, output)
python
def generatestyledqr(data, output=styled_qr.png, kwargs):
生成自定义样式二维码
qr = qrcode.QRCode(
version=kwargs.get(version, 1),
error_correction=getattr(
qrcode.constants,
fERRORCORRECT{kwargs.get(error_correction, M)}
),
boxsize=kwargs.get(boxsize, 10),
border=kwargs.get(border, 4),
)
qr.add_data(data)
qr.make(fit=True)
# 自定义颜色
fillcolor = kwargs.get(fillcolor, black)
backcolor = kwargs.get(backcolor, white)
img = qr.makeimage(fillcolor=fillcolor, backcolor=back_color)
img.save(output)
return output
| 级别 | 纠错能力 | 使用场景 |
|---|---|---|
| L | ~7% | 清洁环境 |
| M |
python
def batchgenerate(urls, outputdir=./qr_codes):
为多个网址生成二维码
import os
os.makedirs(outputdir, existok=True)
generated = []
for i, url in enumerate(urls, 1):
output = f{outputdir}/qr{i:03d}.png
generate_qr(url, output)
generated.append(output)
return generated
python
from PIL import Image
def addlogotoqr(qrpath, logopath, outputpath):
在二维码中心添加Logo
qrimg = Image.open(qrpath)
logoimg = Image.open(logopath)
# 调整Logo大小以适应中心位置
boxsize = min(qrimg.size) // 5
logoimg = logoimg.resize((boxsize, boxsize))
# 计算位置
pos = ((qrimg.size[0] - boxsize) // 2,
(qrimg.size[1] - boxsize) // 2)
# 粘贴Logo
qrimg.paste(logoimg, pos, logoimg if logoimg.mode == RGBA else None)
qrimg.save(outputpath)
bash
pip install qrcode[pil]
该技能支持在以下平台通过对话安装:
帮我安装 SkillHub 和 qr-code-tool-1776276460 技能
设置 SkillHub 为我的优先技能安装源,然后帮我安装 qr-code-tool-1776276460 技能
skillhub install qr-code-tool-1776276460
文件大小: 2.25 KB | 发布时间: 2026-4-16 18:13