python二维码操作:对QRCode和MyQR入门详解


Posted in Python onJune 24, 2019

python是所有编程语言中模块最丰富的

生活中常见的二维码功能在使用python第三方库来生成十分容易

python二维码操作:对QRCode和MyQR入门详解

三个大矩形是定位图案,用于标记二维码的大小。这三个定位图案有白边,通过这三个矩形就可以标识一个二维码了。

QRCode 生成这个二维码只用一行

import qrcode
 
qrcode.make("不睡觉干嘛呢").get_image().show()  #设置URL必须添加http://

安装导入QRCode

pip install qrcode #方法多,体量小

安装导入MyQR

pip install myqr  #操作简单,功能强大

QRCode 多种自定义方法

import qrcode
 
text = input("输入文字或URL:")
img =qrcode.make(text)
img.save()              #保存图片至本地目录,可以设定路径
img.show()

生成添加logo的二维码

from PIL import Image
import qrcode,os
 
def create_qrcode(url,qrcodename):
  qr = qrcode.QRCode(
    version=1, # 设置容错率为最高
    error_correction=qrcode.ERROR_CORRECT_H, # 用于控制二维码的错误纠正程度
    box_size=8, # 控制二维码中每个格子的像素数,默认为10
    border=1, # 二维码四周留白,包含的格子数,默认为4
    #image_factory=None, 保存在模块根目录的image文件夹下
    #mask_pattern=None
  )
 
  qr.add_data(url) # QRCode.add_data(data)函数添加数据
  qr.make(fit=True) # QRCode.make(fit=True)函数生成图片
 
  img = qr.make_image()
  img = img.convert("RGBA") # 二维码设为彩色
  logo = Image.open('xx.jpg') # 传gif生成的二维码也是没有动态效果的
 
  w , h = img.size
  logo_w , logo_h = logo.size
  factor = 4  # 默认logo最大设为图片的四分之一
  s_w = int(w / factor)
  s_h = int(h / factor)
  if logo_w > s_w or logo_h > s_h:
    logo_w = s_w
    logo_h = s_h
 
  logo = logo.resize((logo_w, logo_h), Image.ANTIALIAS)
  l_w = int((w - logo_w) / 2)
  l_h = int((h - logo_h) / 2)
  logo = logo.convert("RGBA")
  img.paste(logo, (l_w, l_h), logo)
  img.show()
  img.save(os.getcwd()+'/' + qrcodename + '.png', quality=100)

MyQR 生成动态二维码

from MyQR import myqr
import os
myqr.run(
  words='Hello world',     #在命令后输入链接或者句子作为参数,然后在程序的当前目录中产生相应的二维码图片文件,默认命名为” qrcode.png“
  version=1,          #设置容错率为最高默认边长是取决于你输入的信息的长度和使用的纠错等级;而默认纠错等级是最高级的H
  level='H',          #控制纠错水平,范围是L、M、Q、H,从左到右依次升高
  picture='WChat.png',     #用来将QR二维码图像与一张同目录下的图片相结合,产生一张黑白图片
  colorized=True,       #可以使产生的图片由黑白(False)变为彩色(True)的
  contrast=1.0,        #用以调节图片的对比度,1.0 表示原始图片,更小的值表示更低对比度,更大反之。默认为1.0。
  brightness=1.0,       #用来调节图片的亮度,其余用法和取值与 -con 相同
  save_name='test.png',    #控制文件名,格式可以是 .jpg, .png ,.bmp ,.gif ;
  save_dir=os.getcwd()     #控制位置。
)
Positional parameter
  words: str
Optional parameters
  version: int, from 1 to 40
  level: str, just one of ('L','M','Q','H')
  picutre: str, a filename of a image
  colorized: bool
  constrast: float
  brightness: float
  默认输出文件名是“ qrcode.png ",而默认存储位置是当前目录
  save_name: str, the output filename like 'example.png'
  save_dir: str, the output directory

参考资料

以上内容主要参考官方文档

这篇python二维码操作:对QRCode和MyQR入门详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python函数式编程指南(一):函数式编程概述
Jun 24 Python
Python把csv数据写入list和字典类型的变量脚本方法
Jun 15 Python
django admin 后台实现三级联动的示例代码
Jun 22 Python
解决pip install xxx报错SyntaxError: invalid syntax的问题
Nov 30 Python
Python爬虫设置代理IP(图文)
Dec 23 Python
pandas 对日期类型数据的处理方法详解
Aug 08 Python
Flask框架请求钩子与request请求对象用法实例分析
Nov 07 Python
python实现简单学生信息管理系统
Apr 09 Python
使用python实现时间序列白噪声检验方式
Jun 03 Python
Python列表元素删除和remove()方法详解
Jan 04 Python
详解修改Anaconda中的Jupyter Notebook默认工作路径的三种方式
Jan 24 Python
Python获取百度热搜的完整代码
Apr 07 Python
详解python编译器和解释器的区别
Jun 24 #Python
python爬虫之自制英汉字典
Jun 24 #Python
Pyqt5实现英文学习词典
Jun 24 #Python
set在python里的含义和用法
Jun 24 #Python
如何利用Anaconda配置简单的Python环境
Jun 24 #Python
python程序变成软件的实操方法
Jun 24 #Python
PyCharm安装Markdown插件的两种方法
Jun 24 #Python
You might like
php mssql 分页SQL语句优化 持续影响
2009/04/26 PHP
php中计算未知长度的字符串哪个字符出现的次数最多的代码
2012/08/14 PHP
php使用cookie实现记住用户名和密码实现代码
2015/04/27 PHP
PHP使用CURL实现下载文件功能示例
2019/06/03 PHP
Laravel 解决composer相关操作提示php相关异常的问题
2019/10/23 PHP
实现JavaScript中继承的三种方式
2009/10/16 Javascript
10个基于jQuery或JavaScript的WYSIWYG 编辑器整理
2010/05/06 Javascript
JavaScript将一个数组插入到另一个数组的方法
2015/03/19 Javascript
JavaScript实现MIPS乘法模拟的方法
2015/04/17 Javascript
JavaScript与HTML的结合方法详解
2015/11/23 Javascript
JavaScript知识点总结(十一)之js中的Object类详解
2016/05/31 Javascript
使用递归遍历对象获得value值的实现方法
2016/06/14 Javascript
详解基于javascript实现的苹果系统底部菜单
2016/12/02 Javascript
利用node.js实现反向代理的方法详解
2017/07/24 Javascript
详解使用React制作一个模态框
2019/03/14 Javascript
python实现12306火车票查询器
2017/04/20 Python
python爬取网页内容转换为PDF文件
2020/07/28 Python
Python搭建Keras CNN模型破解网站验证码的实现
2020/04/07 Python
基于python爬取梨视频实现过程解析
2020/11/09 Python
python飞机大战游戏实例讲解
2020/12/04 Python
CSS3 实现时间轴动画
2020/11/25 HTML / CSS
美国高档帽子网上商店:Hats.com
2018/08/09 全球购物
名人演讲稿范文
2013/12/28 职场文书
小学新学期教师寄语
2014/01/18 职场文书
社区国庆节活动方案
2014/02/05 职场文书
施工材料员岗位职责
2014/02/12 职场文书
《明天,我们毕业》教学反思
2014/04/24 职场文书
青春奉献演讲稿
2014/05/08 职场文书
建筑工程造价专业自荐信
2014/07/08 职场文书
学生抄袭作业的检讨书
2014/10/02 职场文书
党员个人查摆剖析材料
2014/10/16 职场文书
幼儿园法制宣传日活动总结
2014/11/01 职场文书
2015年生活老师工作总结
2015/05/27 职场文书
房屋买卖定金协议书
2016/03/21 职场文书
CSS+HTML 实现顶部导航栏功能
2021/08/30 HTML / CSS
解决vue中provide inject的响应式监听
2022/04/19 Vue.js