python 用qrcode 制作一张有背景图片二维码
时间: 2023-12-06 21:43:41 浏览: 139
python生成带背景的二维码图片
可以使用 PIL 库为二维码添加背景图片,然后使用 qrcode 库生成二维码。以下是一个示例代码:
```python
import qrcode
from PIL import Image
# 生成二维码
qr = qrcode.QRCode(version=1, error_correction=qrcode.constants.ERROR_CORRECT_L, box_size=10, border=4)
qr.add_data('https://www.example.com')
qr.make(fit=True)
img_qr = qr.make_image(fill_color="black", back_color="white").convert('RGBA')
# 打开背景图片
img_bg = Image.open('background.png').convert('RGBA')
# 重置二维码大小
w, h = img_bg.size
img_qr = img_qr.resize((w // 3, h // 3))
# 计算二维码位置
pos = ((w - img_qr.size[0]) // 2, (h - img_qr.size[1]) // 2)
# 合并二维码和背景图片
img_bg.alpha_composite(img_qr, dest=pos)
# 显示或保存结果
img_bg.show()
img_bg.save('result.png')
```
其中,`box_size` 参数控制二维码中每个小方块的尺寸,`border` 参数控制二维码边框的宽度。`fill_color` 和 `back_color` 参数分别指定二维码前景色和背景色。`pos` 变量计算了二维码在背景图片中的位置,`alpha_composite` 方法将二维码和背景图片合并。最后,可以使用 `show` 方法显示结果,或使用 `save` 方法保存结果到文件。
阅读全文