【实战】制作二维码,没想到这么简单python

引言

哈喽,我是你们的朋友鱼大,很久没有分享关于python的小实践了,

今天分享一个,大家可以跟着我的节奏学习一下,非常有趣(还能装B)。

这是本人做的一个图,如上有个微信二维码,你们先长按上面的图扫描一下看看是啥。是否和这个链接内容一样呢?原创:董事长说要

这个二维码怎么制作的呢,那今天我就来给介绍一个二维码生成的库【qrcode】。

大家可以看我的代码生成你想要的二维码,也可以后台回复获得我的源码。

我首先介绍一下这个过程,微信识别二维码实际上是读取到二维码中的字符串,如果是链接微信默认会直接跳转,链接字符串如https开头的网址。

安装

qrcode 的安装很简单:pip install qrcode

代码演示

import qrcode
#自定义的字符串
my_str ='https://mp.weixin.qq.com/s/lAOxEG1TB6czHBMXcwpkjA'
img = qrcode.make(my_str)
img.save('simpleqrcode.jpg')

my_str 是我们自己定义的字符串也就是我那篇文章的微信链接,你们可以替换成自己的链接试试。就这么三四句,简单!

 

如果想稍微高级一点,二维码上贴logo,可以看看下面的代码。

from PIL import Image
import qrcode
from qrcode.constants import ERROR_CORRECT_H

my_str ='https://mp.weixin.qq.com/s/lAOxEG1TB6czHBMXcwpkjA'

qr = qrcode.QRCode(version=20,
                   error_correction=ERROR_CORRECT_H,
                   box_size=3, border=2)


# 添加自定义文本信息
qr.add_data(my_str)
qr.make(fit=True)


img = qr.make_image()
img = img.convert("RGB")#加上彩色logo


imgW, imgH = img.size
w1, h1 = map(lambda x: x // 4, img.size)
# 要粘贴的自定义图片,生成缩略图

icon = Image.open("logo.jpg")
imW, imH = icon.size
icon_w = w1 if w1 < imW else imW
icon_h= h1 if h1 < imH else imH
icon = icon.resize((w1, h1))
icon=icon.convert("RGB")#加上彩色logo 同一种格式

w = int((imgW - icon_w)/2)
h = int((imgH - icon_h)/2)

img.paste(icon,(w,h))
#img.show()
img.save('createlogo.jpg')

参数含义

version:值为1~40的整数,控制二维码的大小(最小值是1,是个12×12的矩阵)。如果想让程序自动确定,将值设置为 None 并使用 fit 参数即可。

error_correction:控制二维码的错误纠正功能。可取值下列4个常量。

ERROR_CORRECT_L:大约7%或更少的错误能被纠正。

ERROR_CORRECT_M(默认):大约15%或更少的错误能被纠正。

ROR_CORRECT_H:大约30%或更少的错误能被纠正。

box_size:控制二维码中每个小格子包含的像素数。

border:控制边框(二维码与图片边界的距离)包含的格子数(默认为4,是相关标准规定的最小值)。

img.save:是将生成二维码图片保存到哪里。

公众号回复“上码”,获得我的源码。最后,作为我的读者,请扫描下方二维码有惊喜,请告诉你的Ta。

至于如何在海报上贴上我的二维码,请关注本公众号后期内容。

-结束-

添加个人微信ai_hellohello

免费送5本经典书,已经送出200位+

《深度学习-花书》《Python基础教程3》《机器学习实战》等

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值