一、实验目的和意义
1.掌握Python语言
2.掌握python编辑器如pycharm、vscode
3.了解和掌握快递智能终端系统
4.了解快递物流信息行业
5.增强代码能力
二、实验环境
Pycharm
Windows10计算机
三、实验步骤
流程分析和系统目标:
1标识(二维码)生命周期——生成–>维护–>使用–>销毁(复用)
2标识的生成和识别(图形)
3标识的查询和删除(数据库)
4网络环境及交互
快递寄送:二维码生成 二维码维护
快递接受:二维码维护 二维码维护
数据维护:二维码查询 二维码复用
具体实验步骤:
1.下载pycharm编辑器
打开pycharm网页版,下载社区(community)版本
2.环境配置
Windows + r ,打开cmd,下载本实验所需要的环境配置
3.二维码的生成
from PIL import Image
import qrcode
def ewmsc():
qr = qrcode.QRCode(
version=5, error_correction=qrcode.constants.ERROR_CORRECT_H, box_size=8, border=4)
qr.add_data(“这里是二维码信息!”)
qr.make(fit=True)
img = qr.make_image()
img = img.convert("RGBA")
icon = Image.open("QRcodeCenter.jpg") # 这里是二维码中心的图片
img_w, img_h = img.size
factor = 4
size_w = int(img_w / factor)
size_h = int(img_h / factor)
icon_w, icon_h = icon.size
if icon_w > size_w:
icon_w = size_w
if icon_h > size_h:
icon_h = size_h
icon = icon.resize((icon_w, icon_h), Image.ANTIALIAS)
w = int((img_w - icon_w) / 2)
h = int((img_h - icon_h) / 2)
icon = icon.convert("RGBA")
img.paste(icon, (w, h), icon)
img.show() # 显示图片,可以通过save保存
4.信息录入生成二维码并且存入数据库
import os
import qrcode
from PIL import Image
from pyzbar import pyzbar
def xxlrscewm():
def make_qr_code(content, save_path=None):
qr_code_maker = qrcode.QRCode(version=5,
error_correction=qrcode.constants.ERROR_CORRECT_M,
box_size=8,
border=4,
)
qr_code_maker.add_data(data=content)
qr_code_maker.make(fit=True)
img = qr_code_maker.make_image(fill_color=“black”, back_color=“white”)
if save_path:
img.save(save_path)
else:
img.show() # 中间图不显示
def make_qr_code_with_icon(content, icon_path, save_path=None):
if not os.path.exists(icon_path):
raise FileExistsError(icon_path)
# First, generate an usual QR Code image
qr_code_maker = qrcode.QRCode(version=5,
error_correction=qrcode.constants.ERROR_CORRECT_H,
box_size=8,
border=4,
)
qr_code_maker.add_data(data=content)
qr_code_maker.make(fit=True)
qr_code_img = qr_code_maker.make_image(
fill_color="black", back_color="white").convert('RGBA')
# Second, load icon image and resize it
icon_img = Image.open(icon_path)
code_width, code_height = qr_code_img.size
icon_img = icon_img.resize(
(code_width // 4, code_height // 4), Image.ANTIALIAS)
# Last, add the icon to original QR Code
qr_code_img.paste(icon_img, (code_width * 3 // 8, code_width * 3 // 8))
if save_path:
qr_code_img.save(save_path) # 保存二维码图片
qr_code_img.show() # 显示二维码图片
else:
print("save error!")
def decode_qr_code(code_img_path):