前文述及,Python通过第三方库 qrcode 可以又快又好地生成需要的二维码,但有时我们需要个性化定制二维码,把我们喜欢的,独特的元素如头像,logo等嵌入其中,如何才能实现呢?
其实 qrcode 也可以实现这功能,不过得需要 PIL 的大力支持和配合。PIL(Python Image Library)是 PythonWare 公司开源的免费图像处理工具包,具备基本的图像处理功能,如改变图像大小,旋转图像,图像格式转换,色场空间转换,图像增强,直方图处理,插值和滤波等。但 Python 2.7以后不再支持,为 pillow 所取代。Pillow 是基于PIL模块 fork 的一个派生分支,如今已发展为比 PIL 更具活力的图像处理库,其 Image 模块的导入同 PIL。
示例:
from PIL import Image
import qrcode
qr = qrcode.QRCode(
version=1,
error_correction=qrcode.ERROR_CORRECT_L,
box_size=10,
border=4,
)
qr.add_data('')
qr.make(fit=True)
img = qr.make_image() #fill_color='',back_color=''
img = img.convert('RGBA')
logo = Image.open('.png') #透明背景为佳
img_w, img_h = img.size
logo_w, logo_h = logo.size
if logo_w > int(img_w / 3):
logo_w = int(img_w / 3)
if logo_h > int(img_h / 3):
logo_h = int(img_h / 3)
logo = logo.resize((logo_w, logo_h), Image.ANTIALIAS)
w = int((img_w - logo_w) / 2)
h = int((img_h - logo_h) / 2)
logo = logo.convert('RGBA')
img.paste(logo, (w, h), logo)
img.save('.png')
img.show()
示意:
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/106943.html