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 Queue模块详解
Nov 30 Python
python使用urllib2实现发送带cookie的请求
Apr 28 Python
python实现爬虫下载美女图片
Jul 14 Python
windows系统下Python环境的搭建(Aptana Studio)
Mar 06 Python
Python实现多线程抓取网页功能实例详解
Jun 08 Python
python分批定量读取文件内容,输出到不同文件中的方法
Dec 08 Python
python中yield的用法详解——最简单,最清晰的解释
Apr 04 Python
python os.path.isfile()因参数问题判断错误的解决
Nov 29 Python
Python+opencv+pyaudio实现带声音屏幕录制
Dec 23 Python
使用python实现CGI环境搭建过程解析
Apr 28 Python
利用python清除移动硬盘中的临时文件
Oct 28 Python
python实现三次密码验证的示例
Apr 29 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 JSON格式数据交互实例代码详解
2011/01/13 PHP
php中突破基于HTTP_REFERER的防盗链措施(stream_context_create)
2011/03/29 PHP
PHP数据库连接mysql与mysqli对比分析
2016/01/04 PHP
深入理解JavaScript系列(6) 强大的原型和原型链
2012/01/15 Javascript
复制js对象方法(详解)
2013/07/08 Javascript
第七章之菜单按钮图标组件
2016/04/25 Javascript
jQuery Ajax和getJSON获取后台普通json数据和层级json数据用法分析
2016/06/08 Javascript
【经验总结】编写JavaScript代码时应遵循的14条规律
2016/06/20 Javascript
bootstrap学习笔记之初识bootstrap
2016/06/21 Javascript
NodeJs下的测试框架Mocha的简单介绍
2017/02/22 NodeJs
Vue 监听列表item渲染事件方法
2018/09/06 Javascript
vue获取data数据改变前后的值方法
2019/11/07 Javascript
JavaScript HTML DOM 元素 (节点)新增,编辑,删除操作实例分析
2020/03/02 Javascript
JS如何在数组指定位置插入元素
2020/03/10 Javascript
解决vue一个页面中复用同一个echarts组件的问题
2020/07/19 Javascript
js对象属性名驼峰式转下划线的实例代码
2020/09/17 Javascript
js实现手表表盘时钟与圆周运动
2020/09/18 Javascript
python根据出生日期返回年龄的方法
2015/03/26 Python
Python实现简单的获取图片爬虫功能示例
2017/07/12 Python
Python创建二维数组实例(关于list的一个小坑)
2017/11/07 Python
Python字典中的键映射多个值的方法(列表或者集合)
2018/10/17 Python
Django Rest framework权限的详细用法
2019/07/25 Python
html5仿支付宝密码框的实现代码
2017/09/06 HTML / CSS
乐天旅游香港网站:日本饭店预订
2017/11/29 全球购物
伦敦哈德森鞋:Hudson Shoes
2018/02/06 全球购物
EM Cosmetics官网:由彩妆大神Michelle Phan创办的独立品牌
2020/04/27 全球购物
CNC数控操作工岗位职责
2013/11/19 职场文书
数控专业个人求职信范例
2013/11/29 职场文书
《雨点儿》教学反思
2014/04/14 职场文书
产品发布会策划方案
2014/05/12 职场文书
企业法人代表证明书
2014/09/27 职场文书
专业见习报告范文
2014/11/03 职场文书
导游词范文
2015/02/13 职场文书
上市公司财务总监岗位职责
2015/04/03 职场文书
乡镇党建工作总结2015
2015/05/19 职场文书
微前端qiankun改造日渐庞大的项目教程
2022/06/21 Javascript