2分钟

课程背景

实验预计耗时:30分钟

1. 课程背景

1.1 课程目的

本课程的主要目的是让学员掌握云服务器CVM、对象存储COS的配置流程,同时掌握使用Python中的MyQR包生成个性二维码的过程。最终可以结合Python的Flask框架和MyQR包,实现一个生成图片二维码的Web项目。运行成功的项目可以根据用户需求生成二维码,不仅可以生成普通的黑白二维码,还可以生成包含图片和动态图的个性二维码。

生成的Web项目展示效果如下:

1-1项目效果图

项目中生成的个性二维码,除了可以直接下载到本地,还可以通过COS的存储桶进行存储和分发。学员只需要完成简单的COS存储桶配置,便可以直接将图片上传到存储桶中,生成二维码后无需进行额外配置,点击按钮即可上传图片到存储桶中,并自动生成访问链接。相比下载图片到本地的方式,保存到COS存储桶更方便用户对生成的图片进行管理和分享。

1.2 课前知识准备

1.相关概念

(1)腾讯云相关

  • 腾讯云CVM云服务器: 云服务器 CVM(Cloud Virtual Machine)是腾讯云提供的可扩展的计算服务。使用 CVM 避免了使用传统服务器时需要预估资源用量及前期投入,帮助用户在短时间内快速启动任意数量的云服务器并即时部署应用程序。 腾讯云 CVM 支持用户自定义一切资源:CPU、内存、硬盘、网络、安全等等,并可以在需求发生变化时轻松地调整它们。
  • 腾讯云COS对象存储: 对象存储(Cloud Object Storage,COS)是腾讯云提供的一种存储海量文件的分布式存储服务。具有高扩展性、低成本、可靠安全等优点。通过控制台、API、SDK 和工具等多样化方式,用户可简单、快速地接入 COS,进行多格式文件的上传、下载和管理,实现海量数据存储和管理。

(2)Linux系统相关

  • CentOS: CentOS(Community Enterprise Operating System,中文意思是社区企业操作系统)是Linux发行版之一,它是来自于Red Hat Enterprise Linux依照开放源代码规定放出的源代码编译而成。由于出自同样的源代码,因此有些要求高度稳定性的服务器以CentOS替代商业版的Red Hat Enterprise Linux使用。两者的不同,在于CentOS完全开源。

(3)Python相关

  • Flask框架: Flask是一个使用 Python 编写的轻量级 Web 应用框架,特点在于使用简单轻便,功能自由定制。此例对应的项目较为简单,使用Flask框架开发,学员只需关注视图函数部分即可。 Flask也被称为 “microframework” ,因为它使用简单的核心,用 extension 增加其他功能。Flask没有默认使用的数据库、窗体验证工具。
  • MyQR: MyQR是一个用于生成个性二维码的Python包。借助MyQR可以生成普通二维码、带图片的艺术二维码(黑白与彩色)、动态二维码(黑白与彩色)。

2.相关原理

(1)MyQR生成二维码:

1-2 MyQR生成个性二维码原理

注:此原理对应功能已经在MyQR包中实现,学员只需通过函数调用,传入必需参数即可实现功能。此处原理用于帮助学员理解,并非实现项目的必备知识点。

  • 数据分析和编码。确定输入内容的字符类型和所属字符集,将数据字符转换为位流,每8位一个码字,整体构成一个数据的码字序列。
  • 添加纠错编码。根据纠错等级生成纠错码,并将纠错码字加入到数据码字序列后面,成为一个新的码字序列。
  • 构造数据信息矩阵。将生成的码字序列按次序放入二维码矩阵块中(列表格式),将数据转成能够绘制二维码的矩阵。
  • 绘制二维码。首先创建一个白色底图,作为二维码展示的底板,然后循环矩阵中的单位,并在二维码底图中依次填入矩阵中的数据。绘制完成后保存得到的黑白二维码图片。
  • 合并图片。读取黑白二维码,读取要进行合成的图片。遍历二维码矩阵中的每一个像素块,在不影响二维码内容读取的像素块中混入图片像素块,生成包含图片的二维码,保存生成的二维码图片。

(2)腾讯云COS存储图片:

将二维码图片文件上传至腾讯云COS,由腾讯云COS提供图片的存储服务,需要访问时可以直接通过腾讯云COS获取,无需下载到本地。

3.相关命令介绍

(1)Linux相关命令:

  • 使用yum安装Python: yum install python3 -y
  • 创建目录: mkdir <目录名>
  • 跳转到指定目录: cd <目录名> 使用Vim编辑器创建/打开文件: vim <文件名>

(2)pip相关命令(Python3版本):

  • 安装Flask框架: pip3 install flask
  • 安装MyQR: pip3 install myqr
  • 安装COS SDK: pip3 install -U cos-python-sdk-v5

(3)Vim相关命令:

  • 进入编辑模式,在当前字符前插入光标:i
  • 进入命令行模式:ESC
  • 保存并退出文件(命令行模式下)::wq