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中的二叉树查找算法模块使用指南
Jul 04 Python
用tensorflow构建线性回归模型的示例代码
Mar 05 Python
python实现维吉尼亚加密法
Mar 20 Python
代码实例讲解python3的编码问题
Jul 08 Python
详解使用PyInstaller将Pygame库编写的小游戏程序打包为exe文件
Aug 23 Python
Numpy的简单用法小结
Aug 28 Python
python flask中动态URL规则详解
Nov 22 Python
python小程序之4名牌手洗牌发牌问题解析
May 15 Python
pyMySQL SQL语句传参问题,单个参数或多个参数说明
Jun 06 Python
Pythonic版二分查找实现过程原理解析
Aug 11 Python
Python安装并操作redis实现流程详解
Oct 13 Python
Python利器openpyxl之操作excel表格
Apr 17 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边学边教》(01.开篇――准备工作)
2006/12/13 PHP
php获取文件夹路径内的图片以及分页显示示例
2014/03/11 PHP
php7 安装yar 生成docker镜像
2017/05/09 PHP
[原创]PHP实现生成vcf vcard文件功能类定义与使用方法详解【附demo源码下载】
2017/09/02 PHP
PHP实现动态获取函数参数的方法示例
2018/04/02 PHP
javascript 日历提醒系统( 兼容所有浏览器 )
2009/04/07 Javascript
JQuery打造PHP的AJAX表单提交实例
2009/11/03 Javascript
jquery获取自定义属性(attr和prop)实例介绍
2013/04/21 Javascript
javascript 弹出的窗口返回值给父窗口具体实现
2013/11/23 Javascript
Js+Jq获取URL参数的集中方法示例代码
2014/05/20 Javascript
在JavaScript里防止事件函数高频触发和高频调用的方法
2014/09/06 Javascript
jQuery实现首页顶部可伸缩广告特效代码
2015/04/15 Javascript
浅谈jQuery.easyui的datebox格式化时间
2015/06/25 Javascript
js实现固定宽高滑动轮播图效果
2017/01/13 Javascript
解决webpack打包速度慢的解决办法汇总
2017/07/06 Javascript
浅谈vue单一组件下动态修改数据时的全部重渲染
2018/03/01 Javascript
vue + webpack如何绕过QQ音乐接口对host的验证详解
2018/07/01 Javascript
JavaScript对象的浅拷贝与深拷贝实例分析
2018/07/25 Javascript
js实现简单选项卡功能
2020/03/23 Javascript
基于vue实现图片验证码倒计时60s功能
2019/12/10 Javascript
Vue组件跨层级获取组件操作
2020/07/27 Javascript
Python中工作日类库Busines Holiday的介绍与使用
2017/07/06 Python
flask应用部署到服务器的方法
2019/07/12 Python
Python中and和or如何使用
2020/05/28 Python
Python安装并操作redis实现流程详解
2020/10/13 Python
html5 实现客户端验证上传文件的大小(简单实例)
2016/05/15 HTML / CSS
Joe Fresh官网:加拿大时尚品牌和零售连锁店
2016/11/30 全球购物
Desigual英国官网:在线购买原创服装
2018/03/09 全球购物
德国旅游网站:weg.de
2018/06/03 全球购物
Nike比利时官网:Nike.com (BE)
2019/02/07 全球购物
法国体育用品商店:GO Sport
2019/10/23 全球购物
十岁生日家长答谢词
2014/01/17 职场文书
党委书记个人对照检查材料
2014/09/15 职场文书
井冈山红色之旅感想
2014/10/07 职场文书
校园会短篇的广播稿
2014/10/21 职场文书
致男子1500米运动员的广播稿
2019/11/08 职场文书