python qrcode模塊可生成二維碼並對二維碼樣式進行定制,如果二維碼內容為url鏈接,手機掃描后可直接進行跳轉。
三行代碼即可實現
import qrcode
img = qrcode.make('http://www.baidu.com')
img.show()
如下代碼可在二維碼定制頭像圖片,更改二維碼顏色
import qrcode
from PIL import Image
text = 'https://www.cnblogs.com/i-love-python/p/11569872.html'
qr = qrcode.QRCode(
version=1,
error_correction=qrcode.constants.ERROR_CORRECT_H,
box_size=5,
border=4,
)
# 添加數據
qr.add_data(text)
# 填充數據
qr.make(fit=True)
# 生成圖片
img = qr.make_image(fill_color="#009696", back_color="white")
# 添加logo,打開logo照片
icon = Image.open('my.jpg')
# 獲取圖片的寬高
img_w, img_h = img.size
# 參數設置logo的大小
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
# 重新設置logo的尺寸
icon = icon.resize((icon_w, icon_h), Image.ANTIALIAS)
# 得到畫圖的x,y坐標,居中顯示
w = int((img_w - icon_w) / 2)
h = int((img_h - icon_h) / 2)
# 黏貼logo照
img.paste(icon, (w, h), mask=None)
# img.save(fpath)
img.show()