有趣的二维码:用 MyQR 和 qrcode 制作二维码
印象Python
共 5171字,需浏览 11分钟
·
2021-01-13 10:09
点击上方蓝字关注我们
来源: 夏悠然然 https://blog.csdn.net/qq_42730750/article/details/108877378
1. 二维码
pip install MyQR
if __name__ == '__main__':
version, level, qr_name = myqr.run(
words='https://xxx.com/ccc',
version=1,
level='H',
picture='./XKD.gif',
colorized=True,
contrast=1.0,
brightness=1.0,
save_name='test4.gif',
save_dir=os.getcwd()
)
print(version)
print(level)
print(qr_name)
-
数字 0 到 9 -
大小写的英文字母 -
常用英文标点符号和空格
3. qrcode
pip install qrcode
def mergeImg(img1, img2, flag=True):
"""
合并图像
:param img1:
:param img2:
:param flag: True 表示将logo居中, False 表示将logo作为背景图
:return:
"""
img1_w, img1_h = img1.size
if flag:
img2_w = int(img2.size[0] / 3)
img2_h = int(img2.size[1] / 3)
# 缩放logo
img2 = img2.resize(size=(img2_w, img2_h), resample=Image.ANTIALIAS)
# 将logo居中显示
img1.paste(im=img2, box=(int((img1_w - img2_w) / 2), int((img1_h - img2_h) / 2)))
img1.save('./test8.png')
else:
img2 = img2.resize(size=(img1_w, img1_h), resample=Image.ANTIALIAS)
# 两张图片的size和mode要一致
# 计算公式为out = image1 * (1.0 - alpha) + image2 * alpha
# 这里的背景色就是一种干扰了, 如果将二维码的透明度设置过高会识别不出来
out_img = Image.blend(img1, img2, alpha=0.3)
out_img.save('./test9.png')
if __name__ == '__main__':
qr = qrcode.QRCode(
version=1,
error_correction=qrcode.constants.ERROR_CORRECT_H,
box_size=10,
border=4,
)
qr.add_data('https://xxx.com/ccc')
qr.make(fit=True)
# black green purple orange pink white blue
# make_image() 返回的是一个PilImage对象
# 可以使用pillow对它进行图像处理相关的操作
# img1 = qr.make_image(fill_color="#8A2BE2", back_color="white")
img1 = qr.make_image(fill_color="orange", back_color="white").convert('RGB')
# img1.show()
# img1.save('./test6.png')
img2 = Image.open('./cutcamera.png').convert('RGB')
mergeImg(img1, img2, flag=True)
回复下方 「关键词」,获取优质资源
回复关键词 「linux」,即可获取 185 页 Linux 工具快速教程手册和154页的Linux笔记。
回复关键词 「Python进阶」,即可获取 106 页 Python 进阶文档 PDF
回复关键词 「Python面试题」,即可获取最新 100道 面试题 PDF
回复关键词 「python数据分析」,即可获取47页python数据分析与自然语言处理的 PDF
回复关键词 「python爬虫」,满满五份PPT爬虫教程和70多个案例
回复关键词 「Python最强基础学习文档」,即可获取 168 页 Python 最强基础学习文档 PDF,让你快速入门Python
回复关键词 「linux」,即可获取 185 页 Linux 工具快速教程手册和154页的Linux笔记。
回复关键词 「Python进阶」,即可获取 106 页 Python 进阶文档 PDF
回复关键词 「Python面试题」,即可获取最新 100道 面试题 PDF
回复关键词 「python数据分析」,即可获取47页python数据分析与自然语言处理的 PDF
回复关键词 「python爬虫」,满满五份PPT爬虫教程和70多个案例
推荐我的微信号
来围观我的朋友圈,我的经验分享,技术更新,不定期送书,坑位有限,速速扫码添加!
备注:开发方向_昵称_城市,另送你10本Python电子书。点个在看你最好看
评论