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 流程控制实例代码
Sep 25 Python
Python使用py2exe打包程序介绍
Nov 20 Python
Python解决鸡兔同笼问题的方法
Dec 20 Python
简单介绍Python下自己编写web框架的一些要点
Apr 29 Python
Python中asyncore异步模块的用法及实现httpclient的实例
Jun 28 Python
python3.6使用urllib完成下载的实例
Dec 19 Python
python读取图片任意范围区域
Jan 23 Python
python3 打印输出字典中特定的某个key的方法示例
Jul 06 Python
tensorflow生成多个tfrecord文件实例
Feb 17 Python
浅谈Django QuerySet对象(模型.objects)的常用方法
Mar 28 Python
python多线程实现同时执行两个while循环的操作
May 02 Python
python中tab键是什么意思
Jun 18 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
FCKeditor的安装(PHP)
2007/01/13 PHP
Notice: Undefined index: page in E:\PHP\test.php on line 14
2010/11/02 PHP
PHP中关键字interface和implements详解
2017/06/14 PHP
yii2 commands模式以及配置crontab定时任务的方法
2017/08/19 PHP
Yii框架数据库查询、增加、删除操作示例
2019/10/14 PHP
jQuery判断密码强度实现思路及代码
2013/04/24 Javascript
javascript中的nextSibling使用陷(da)阱(keng)
2014/05/05 Javascript
jQuery链式调用与show知识浅析
2016/05/11 Javascript
jstree创建无限分级树的方法【基于ajax动态创建子节点】
2016/10/25 Javascript
Angular.JS利用ng-disabled属性和ng-model实现禁用button效果
2017/04/05 Javascript
JavaScrip数组删除特定元素的几种方法总结
2017/09/06 Javascript
jquery+ajaxform+springboot控件实现数据更新功能
2018/01/22 jQuery
使用vux实现上拉刷新功能遇到的坑
2018/02/08 Javascript
基于jquery实现左右上下移动效果
2018/05/02 jQuery
完美解决vue 中多个echarts图表自适应的问题
2020/07/19 Javascript
[32:56]完美世界DOTA2联赛PWL S3 Rebirth vs CPG 第二场 12.11
2020/12/16 DOTA
Python中的装饰器用法详解
2015/01/14 Python
python爬虫 正则表达式使用技巧及爬取个人博客的实例讲解
2017/10/20 Python
django 按时间范围查询数据库实例代码
2018/02/11 Python
tensorflow saver 保存和恢复指定 tensor的实例讲解
2018/07/26 Python
修改python plot折线图的坐标轴刻度方法
2018/12/13 Python
Python3 串口接收与发送16进制数据包的实例
2019/06/12 Python
python数据类型之间怎么转换技巧分享
2019/08/20 Python
python简单实现最大似然估计&scipy库的使用详解
2020/04/15 Python
Python tempfile模块生成临时文件和临时目录
2020/09/30 Python
Fairyseason:为个人和批发商提供女装和配件
2017/03/01 全球购物
自动化专业毕业生自荐信
2013/11/01 职场文书
培训自我鉴定
2014/01/31 职场文书
小学优秀辅导员事迹材料
2014/05/11 职场文书
体育专业自荐书
2014/05/29 职场文书
电子信息专业应届生自荐信
2014/06/04 职场文书
改革共识倡议书
2014/08/29 职场文书
工厂仓库管理员岗位职责
2015/04/09 职场文书
2015年教导处教学工作总结
2015/07/22 职场文书
医院岗前培训心得体会
2016/01/08 职场文书
导游词之吉林吉塔
2019/11/11 职场文书