Python-生成二维码、识别二维码
一、使用Qrcode生成二维码
1、安装依赖库
pip install qrcode
2、qrcode简单使用
import qrcode
# 二维码内容
data = "https://supernb.cn"
# 生成二维码
img = qrcode.make(data)
# 显示二维码
img.show()
3、qrcode进阶用法
import qrcode
qrcodes = qrcode.QRCode(
version=5, # 二维码的格子矩阵大小,可以是1到40,1最小为21*21,40是177*177
error_correction=qrcode.constants.ERROR_CORRECT_L, # 二维码错误容许率,默认ERROR_CORRECT_M,容许小于15%的错误率
box_size=5, # 二维码每个小格子包含的像素数量
border=4, # 二维码到图片边框的小格子数,默认值为4
)
data = "https://supernb.cn"
qrcodes.add_data(data)
qrcodes.make(fit=True)
# fill_color 二维码像素颜色
# back_color 二维码背景颜色
img = qrcodes.make_image(fill_color="red", back_color="white")
# 显示
img.show()
4、在二维码上加logo
#安装PIL
pip install pillow
#安装PIL
pip install pillow
from PIL import Image
import qrcode
qrcodes = qrcode.QRCode(
version=5, # 二维码的格子矩阵大小,可以是1到40,1最小为21*21,40是177*177
error_correction=qrcode.constants.ERROR_CORRECT_H, # 二维码错误容许率
box_size=5, # 二维码每个小格子包含的像素数量
border=4, # 二维码到图片边框的小格子数,默认值为4
)
data = "https://supernb.cn"
qrcodes.add_data(data)
qrcodes.make(fit=True)
# fill_color 二维码像素颜色
# back_color 二维码背景颜色
img = qrcodes.make_image(fill_color="red", back_color="white")
# logo文件
icon = Image.open("logo.ico")
# 获取logo大小
icon_w,icon_h = icon.size
# 二维码大小
img_w,img_h = img.size
# 计算二维码四分之一大小
img_w_size = int(img_w/4)
img_h_size = int(img_h/4)
# 如果logo尺寸大于二维码的4分之一,把logo尺寸定义成二维码四分之一的大小
if icon_w > img_w_size:
icon_w = img_w_size
if icon_h > img_h_size:
icon_h = img_h_size
# 改变logo大小
icon = icon.resize((icon_w,icon_h),Image.ANTIALIAS)
# logo转RGBA
icon = icon.convert("RGBA")
# 计算logo在二维码上的位置
w = int((img_w-icon_w)/2)
h = int((img_h-icon_h)/2)
# 二维码、Logo合成
img.paste(icon,(w,h),icon)
# 显示
img.show()
from PIL import Image
import qrcode
qrcodes = qrcode.QRCode(
version=5, # 二维码的格子矩阵大小,可以是1到40,1最小为21*21,40是177*177
error_correction=qrcode.constants.ERROR_CORRECT_H, # 二维码错误容许率
box_size=5, # 二维码每个小格子包含的像素数量
border=4, # 二维码到图片边框的小格子数,默认值为4
)
data = "https://supernb.cn"
qrcodes.add_data(data)
qrcodes.make(fit=True)
# fill_color 二维码像素颜色
# back_color 二维码背景颜色
img = qrcodes.make_image(fill_color="red", back_color="white")
# logo文件
icon = Image.open("logo.ico")
# 获取logo大小
icon_w,icon_h = icon.size
# 二维码大小
img_w,img_h = img.size
# 计算二维码四分之一大小
img_w_size = int(img_w/4)
img_h_size = int(img_h/4)
# 如果logo尺寸大于二维码的4分之一,把logo尺寸定义成二维码四分之一的大小
if icon_w > img_w_size:
icon_w = img_w_size
if icon_h > img_h_size:
icon_h = img_h_size
# 改变logo大小
icon = icon.resize((icon_w,icon_h),Image.ANTIALIAS)
# logo转RGBA
icon = icon.convert("RGBA")
# 计算logo在二维码上的位置
w = int((img_w-icon_w)/2)
h = int((img_h-icon_h)/2)
# 二维码、Logo合成
img.paste(icon,(w,h),icon)
# 显示
img.show()
二、识别二维码
1、安装依赖库
pip install zxing
2、识别二维码
import zxing
read = zxing.BarCodeReader()
# 读取二维码
res = read.decode("ewm.jpg")
print(res.parsed)
正文到此结束
评论
登录后才能发表评论 登录/注册
0评论