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批量转换文件编码格式
May 17 Python
python并发编程之多进程、多线程、异步和协程详解
Oct 28 Python
基于Python的文件类型和字符串详解
Dec 21 Python
django 按时间范围查询数据库实例代码
Feb 11 Python
caffe binaryproto 与 npy相互转换的实例讲解
Jul 09 Python
Python一行代码实现快速排序的方法
Apr 30 Python
python区块及区块链的开发详解
Jul 03 Python
python matplotlib库直方图绘制详解
Aug 10 Python
利用Tensorflow构建和训练自己的CNN来做简单的验证码识别方式
Jan 20 Python
基于python求两个列表的并集.交集.差集
Feb 10 Python
Python中if有多个条件处理方法
Feb 26 Python
Keras 中Leaky ReLU等高级激活函数的用法
Jul 05 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开发环境配置(MySQL数据库安装图文教程)
2010/04/28 PHP
PHP7常量数组用法分析
2016/09/26 PHP
HTML长文本截取含有HTML代码同样适用的两种方法
2013/07/31 Javascript
简易的投票系统以及js刷票思路和方法
2015/04/07 Javascript
jQuery实现伪分页的方法分享
2016/02/17 Javascript
jQuery文本框得到与失去焦点动态改变样式效果
2016/09/08 Javascript
使用BootStrap进行轮播图的制作
2017/01/06 Javascript
JS实现旋转木马式图片轮播效果
2017/01/18 Javascript
AngularJS1.X学习笔记2-数据绑定详解
2017/04/01 Javascript
详解nodeJS之路径PATH模块
2017/05/31 NodeJs
基于Vue单文件组件详解
2017/09/15 Javascript
vue左右侧联动滚动的实现代码
2018/06/06 Javascript
AngularJS 前台分页实现的示例代码
2018/06/07 Javascript
webpack4之SplitChunksPlugin使用指南
2018/06/12 Javascript
JS中的变量作用域(console版)
2020/07/18 Javascript
springboot+vue实现文件上传下载
2020/11/17 Vue.js
总结Python编程中三条常用的技巧
2015/05/11 Python
用Python实现KNN分类算法
2017/12/22 Python
python遍历文件夹找出文件夹后缀为py的文件方法
2018/10/21 Python
Python OpenCV读取png图像转成jpg图像存储的方法
2018/10/28 Python
django使用LDAP验证的方法示例
2018/12/10 Python
详解利用OpenCV提取图像中的矩形区域(PPT屏幕等)
2019/07/01 Python
Python re正则表达式元字符分组()用法分享
2020/02/10 Python
keras得到每层的系数方式
2020/06/15 Python
keras和tensorflow使用fit_generator 批次训练操作
2020/07/03 Python
英国可持续奢侈品包包品牌:Elvis & Kresse
2018/08/05 全球购物
总经理岗位职责范本
2014/02/02 职场文书
消防安全宣传口号
2014/06/10 职场文书
商场促销活动策划方案
2014/08/18 职场文书
小学运动会报道稿
2014/10/04 职场文书
党支部四风整改方案
2014/10/25 职场文书
交警失职检讨书
2015/01/26 职场文书
社区节水倡议书
2015/04/29 职场文书
离婚案件原告代理词
2015/05/23 职场文书
2016年秋季新学期致辞
2015/07/30 职场文书
MySQL数据库实验实现简单数据库应用系统设计
2022/06/21 MySQL