更多精选文章,请关注公众号:python前行者

现在,我们生活中到处可以看到二维码。它有啥好处呢?它具有信息容量大、可靠性高、可表示汉字及图象多种文字信息、保密防伪性强等优点。

我们生成的东西一般都在电脑上。如果弄到移动设备上,用到最多的是扫码。在移动设备浏览器中输入URL明显没有扫描二维码方便。

就是这个:

python 有qrcode库,很容易就生成二维码。现在在需要使用Python图像库的时候一般是用 Pillow 模块代替PIL。安装非常简单:

pip install pillow

安装 qrcode 也是类似:

pip install qrcode

在Python中也可以用如下的方式快速生成:

import qrcode# 方法1
def qr_code_1():#调用qrcode的make()方法传入url或者想要展示的内容img = qrcode.make('https://blog.csdn.net/xc_zhou')#保存img.save("./img/text1.png")# 或者with open('./img/test2.png', 'wb') as f:img.save(f)qr_code_1()

更高级一些的设置需要在Python中引入QRCode类:

  • 示例代码1:
import qrcode# 方法2
def qr_code_2():'''参数 version 表示生成二维码的尺寸大小,取值范围是 1 至 40,最小尺寸 1 会生成 21 * 21 的二维码矩阵,version 每增加 1,生成的二维码就会添加 4 个单位大小,例如 version 是 2,则生成 25 * 25 尺寸大小的二维码。参数 error_correction 指定二维码的容错系数,分别有以下4个系数:ERROR_CORRECT_L: 7%的字码可被容错ERROR_CORRECT_M: 15%的字码可被容错ERROR_CORRECT_Q: 25%的字码可被容错ERROR_CORRECT_H: 30%的字码可被容错参数 box_size 表示二维码里每个格子的像素大小。参数 border 表示边框的格子宽度是多少(默认是4)'''# 实例化QRCode生成qr对象qr = qrcode.QRCode(version=2,error_correction=qrcode.constants.ERROR_CORRECT_H,box_size=10,border=1)# 调用qrcode的make()方法传入url或者想要展示的内容qr.add_data("python前行者公众号")qr.make(fit=True)# 填充数据img = qr.make_image() # 生成图片img.save("./img/test3.png")qr_code_2()

生成的结果为:


微信扫描的结果是:

参数 version 表示生成二维码的尺寸大小,取值范围是 1 至 40,最小尺寸 1 会生成 21 * 21 的二维码矩阵,version 每增加 1,生成的二维码就会添加 4 个单位大小,例如 version 是 2,则生成 25 * 25 尺寸大小的二维码。

参数 error_correction 指定二维码的容错系数,分别有以下4个系数:
ERROR_CORRECT_L: 7%的字码可被容错
ERROR_CORRECT_M: 15%的字码可被容错
ERROR_CORRECT_Q: 25%的字码可被容错
ERROR_CORRECT_H: 30%的字码可被容错

参数 box_size 表示二维码里每个格子的像素大小。
参数 border 表示边框的格子宽度是多少(默认是4)。

示例代码2(生成带有图标的二维码):

# -*- coding:utf-8 -*-
import qrcode,time
from PIL import Image
import matplotlib.pyplot as plt# 方法3  生成带有图标的二维码
def qr_code_3():# 实例化QRCode生成qr对象qr = qrcode.QRCode(version=2,error_correction=qrcode.constants.ERROR_CORRECT_H,box_size=10,border=1)qr.add_data("https://blog.csdn.net/xc_zhou")# 添加数据qr.make(fit=True)# 填充数据# 生成图片# img = qr.make_image()img = qr.make_image(fill_color="green", back_color="white")img = img.convert("RGBA")# 添加logo,打开logo照片icon = Image.open("我的头像.jpg").convert("RGBA")# 获取图片的宽和搞img_w, img_h = img.size# 参数设置logo的大小factor = 3size_w = int(img_w / factor)size_h = int(img_h / factor)icon_w, icon_h = icon.sizeif icon_w > size_w:icon_w = size_wif icon_h > size_h:icon_h = size_h# 重新设置logo的尺寸icon = icon.resize((icon_w, icon_h), Image.ANTIALIAS)# 得到画图的x,y坐标,居中显示w = int((img_w - icon_w) / 2)h = int((img_h - icon_h) / 2)'''img.paste(path,where,mask=None)其中,img为image对象;path为所添加图片;where为tuple,如:(x,y),表示图片所在二维码的横纵坐标'''# 黏贴logo照img.paste(icon, (w, h), icon)img.save("我的CSDN二维码.png")# img.show()# 自动打开图片# 终端显示图片plt.imshow(img)plt.show()if __name__=='__main__':qr_code_3()

如此,就将以下图片

生成二维码:


如果是下载URL,扫描后就可以直接下载了。
放到jenkins上,每次生成的build,直接扫码就可以下载到手机上了。

code

# -*- coding:utf-8 -*-
import qrcode,time
from PIL import Image
import matplotlib.pyplot as plt# 方法1
def qr_code_1():#调用qrcode的make()方法传入url或者想要展示的内容img = qrcode.make('https://blog.csdn.net/xc_zhou')#保存img.save("./img/text1.png")# 或者with open('./img/test2.png', 'wb') as f:img.save(f)# 方法2
def qr_code_2():'''参数 version 表示生成二维码的尺寸大小,取值范围是 1 至 40,最小尺寸 1 会生成 21 * 21 的二维码矩阵,version 每增加 1,生成的二维码就会添加 4 个单位大小,例如 version 是 2,则生成 25 * 25 尺寸大小的二维码。参数 error_correction 指定二维码的容错系数,分别有以下4个系数:ERROR_CORRECT_L: 7%的字码可被容错ERROR_CORRECT_M: 15%的字码可被容错ERROR_CORRECT_Q: 25%的字码可被容错ERROR_CORRECT_H: 30%的字码可被容错参数 box_size 表示二维码里每个格子的像素大小。参数 border 表示边框的格子宽度是多少(默认是4)'''# 实例化QRCode生成qr对象qr = qrcode.QRCode(version=2,error_correction=qrcode.constants.ERROR_CORRECT_H,box_size=10,border=1)# 调用qrcode的make()方法传入url或者想要展示的内容qr.add_data("python前行者公众号")qr.make(fit=True)# 填充数据img = qr.make_image() # 生成图片img.save("./img/test3.png")# 方法3  生成带有图标的二维码
def qr_code_3():# 实例化QRCode生成qr对象qr = qrcode.QRCode(version=2,error_correction=qrcode.constants.ERROR_CORRECT_H,box_size=10,border=1)qr.add_data("https://blog.csdn.net/xc_zhou")# 添加数据qr.make(fit=True)# 填充数据# 生成图片# img = qr.make_image()img = qr.make_image(fill_color="green", back_color="white")img = img.convert("RGBA")# 添加logo,打开logo照片icon = Image.open("我的头像.jpg").convert("RGBA")# 获取图片的宽和搞img_w, img_h = img.size# 参数设置logo的大小factor = 3size_w = int(img_w / factor)size_h = int(img_h / factor)icon_w, icon_h = icon.sizeif icon_w > size_w:icon_w = size_wif icon_h > size_h:icon_h = size_h# 重新设置logo的尺寸icon = icon.resize((icon_w, icon_h), Image.ANTIALIAS)# 得到画图的x,y坐标,居中显示w = int((img_w - icon_w) / 2)h = int((img_h - icon_h) / 2)'''img.paste(path,where,mask=None)其中,img为image对象;path为所添加图片;where为tuple,如:(x,y),表示图片所在二维码的横纵坐标'''# 黏贴logo照img.paste(icon, (w, h), icon)img.save("我的CSDN二维码.png")# img.show()# 自动打开图片# 终端显示图片plt.imshow(img)plt.show()if __name__=='__main__':qr_code_2()

python生成动态个性二维码

pip install myqr

1、生成普通二维码

安装了 myqr 之后,就可以在命令行中使用它了。假如我想要将 http://www.rablive.cn 字符串生成一个二维码,则只需要将在命令行中输入以下命令即可:

myqr http://www.rablive.cn

运行后,myqr 会将生成的二维码保存在当前路径下,名称为 qrcode.png

2、带图片的二维码

如果想要生成艺术二维码,则可以使用 -p 参数指定图片,将二维码与该图片结合在一起

myqr http://www.rablive.cn -p rablive.png

默认生成的结果是黑白的,如果想要生成彩色的,可以加上参数 -c。

myqr http://www.rablive.cn -p rablive.png -c -n rablive_qrcode_c.png

3、动态GIF二维码

如果想要生成动态GIF二维码,方式与上面的带图片的二维码的生成方式没有区别,只是将原始的 png/.jpg 图片换成 gif 即可。

参考:https://www.jianshu.com/p/30b6ec813b4f
https://www.jianshu.com/p/c0073c6aa544

[273]python生成个性二维码相关推荐

  1. Python生成个性二维码详解!

    一.实验介绍: Python生成个性二维码:通过调用MyQR接口来实现生成个人所需二维码,并可设置二维码的大小/是否在现有图片的基础上生成/是否生成动态二维码在线实验:https://www.shiy ...

  2. python生成二维码教程_使用Python生成个性二维码

    任务目的 这一步会介绍通过Python中的MyQR包实现生成二维码的操作,包括生成普通二维码.带有静态图和动态图的二维码,同时也会对MyQR生成二维码的常用参数进行介绍说明. 任务步骤注:CVM适合用 ...

  3. Python生成个性二维码

    使用Python生成二维码 主要面向Python3初学者 通过调用MyQR接口来实现生成个人所需二维码,并可以设置二维码的大小.是否在现有图片的基础上生成.是否生成动态二维码. 创建环境 pip3 i ...

  4. 怎么用python生成带二维码的照片_怎么制作二维码图片-Python 生成个性二维码

    一.实验介绍1.1 实验内容 本课程通过调用MyQR接口来实现生成个人所需二维码,并可以设置二维码的大小.是否在现有图片的基础上生成.是否生成动态二维码. 1.2 知识点 Python3基础 MyQR ...

  5. 用Python 生成个性二维码

    1.1 文章内容概述 本文通过调用MyQR接口来实现生成个人所需二维码,并可以设置二维码的大小.是否在现有图片的基础上生成.是否生成动态二维码. 主要面向Python3初学者,最好会一点终端操作. 1 ...

  6. Python 生成个性二维码

    一.实验介绍 1.1 实验内容 本课程通过调用MyQR接口来实现生成个人所需二维码,并可以设置二维码的大小.是否在现有图片的基础上生成.是否生成动态二维码. 1.2 知识点 Python3基础 MyQ ...

  7. python制作二维码_基于Python生成个性二维码过程详解

    一.问题描述 通过调用MyQR模块来实现生成个人所需二维码. 安装: pip install myqr 二.代码实现 1.普通二维码 from MyQR import myqr # 普通二维码 myq ...

  8. 用python生成个性二维码

    首先,这里我使用的是python3.9. 需要下载MyQR库--可以使用pip install MyQR进行下载 下载完之后常规操作,导入MyQR库 from MyQR import myqr 导入库 ...

  9. 用python生成个性二维码_Python 生成个性二维码

    1.1 实验内容 本课程通过调用MyQR接口来实现生成个人所需二维码,并可以设置二维码的大小.是否在现有图片的基础上生成.是否生成动态二维码. 本课程主要面向Python3初学者. 1.2 知识点 P ...

最新文章

  1. 39 n 39 是不是c语言常量,自考“高级语言程序设计”习题答案详解(39)
  2. 1-3团队冲刺第九天
  3. 临床医生如何解读Meta分析论文?
  4. linux系统如何启用ftp服务
  5. esp8266 擦拭_【一起玩esp8266】flash的擦除方法——专治疑难杂症
  6. 爬虫——多线程糗事百科案例
  7. axios网络请求框架源码解析
  8. 网上购物安全防范很重要
  9. 电商美工必备,品质超高的万能套用促销PSD分层模板,宝藏!
  10. stm32 某个io引脚不能拉高_【stm32f407】IO引脚复用和映射
  11. matlab面源模式反扩散参数研究,基于GIS的大气点源污染高斯烟羽扩散模拟研究
  12. MySQL创建商品入库和出库后库存更新的触发器
  13. 怎样让数学学渣看懂什么叫做傅里叶变换?
  14. win2008服务器系统玩红警,win8系统不能玩红警2如何解决?win8系统不能玩红警2的解决方法...
  15. 简单易懂的计算机网络相关名词的解释--集线器篇(持续更新)
  16. Hark的数据结构与算法练习之珠排序
  17. QLabel设置字体颜色
  18. 第三次工业革命(四)
  19. 给嵌入式ARM+Linux的初学者
  20. ThinkPHP 连接MSSQL PHP连接MSSQL

热门文章

  1. 华为交换机访问控制策略
  2. 永磁同步电机的矢量控制策略系列讲解
  3. 六步透视网易设计规范
  4. stram流 Collectors.groupingBy分组后顺序错乱问题
  5. 2016逗比的猿生活
  6. ST芯片的引脚复用功能和重映射功能
  7. java 线程亲缘性_CPU affinity 进程和线程的亲缘性
  8. [风火之旅]职业深入研究之修罗篇
  9. 中国移动应微笑着亮剑3G时代
  10. AAFD故障电弧保护器在方舱医院的运用与设计