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操作xml文件示例
Apr 07 Python
Python中if __name__ == '__main__'作用解析
Jun 29 Python
Python实例一个类背后发生了什么
Feb 09 Python
Python正则表达式常用函数总结
Jun 24 Python
Python爬虫_城市公交、地铁站点和线路数据采集实例
Jan 10 Python
利用Opencv中Houghline方法实现直线检测
Feb 11 Python
VScode编写第一个Python程序HelloWorld步骤
Apr 06 Python
用pandas按列合并两个文件的实例
Apr 12 Python
对python中的try、except、finally 执行顺序详解
Feb 18 Python
Python将列表数据写入文件(txt, csv,excel)
Apr 03 Python
Flask框架实现的前端RSA加密与后端Python解密功能详解
Aug 13 Python
pytorch 自定义参数不更新方式
Jan 06 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
详细介绍:Apache+PHP+MySQL配置攻略
2006/09/05 PHP
透析PHP的配置文件php.ini
2006/10/09 PHP
PHP 文件缓存的性能测试
2010/04/25 PHP
php并发加锁示例
2016/10/17 PHP
优化JavaScript脚本的性能的几个注意事项
2006/12/22 Javascript
Jquery公告滚动+AJAX后台得到数据
2011/04/14 Javascript
使用apply方法处理数组的三个技巧[译]
2012/09/20 Javascript
js绑定事件this指向发生改变的问题解决方法
2013/04/23 Javascript
javascript中parentNode,childNodes,children的应用详解
2013/12/17 Javascript
JSON.parse()和JSON.stringify()使用介绍
2014/06/20 Javascript
jQuery中ajax和post处理json的不同示例对比
2014/11/02 Javascript
使用jQueryMobile实现滑动翻页效果的方法
2015/02/04 Javascript
分享10个优化代码的CSS和JavaScript工具
2016/05/11 Javascript
js原生实现FastClick事件的实例
2016/11/20 Javascript
Vue CLI 3搭建vue+vuex最全分析(推荐)
2018/09/27 Javascript
JavaScript变量基本使用方法实例分析
2019/11/15 Javascript
js实现AI五子棋人机大战
2020/05/28 Javascript
使用vue构建多页面应用的示例
2020/10/22 Javascript
python 控制语句
2011/11/03 Python
Django发送html邮件的方法
2015/05/26 Python
剖析Django中模版标签的解析与参数传递
2015/07/21 Python
Python numpy.array()生成相同元素数组的示例
2018/11/12 Python
Python数据分析:手把手教你用Pandas生成可视化图表的教程
2018/12/15 Python
基于腾讯云服务器部署微信小程序后台服务(Python+Django)
2019/05/08 Python
Python3通过chmod修改目录或文件权限的方法示例
2020/06/08 Python
吃透移动端 1px的具体用法
2019/12/16 HTML / CSS
ASOS亚洲:ASOS Asia
2018/03/04 全球购物
小米官方旗舰店:Xiaomi
2020/08/07 全球购物
电气专业应届生求职信
2013/11/01 职场文书
外企财务年会演讲稿
2014/01/03 职场文书
会计与审计专业自荐信范文
2014/03/15 职场文书
员工安全承诺书
2014/05/22 职场文书
村长党的群众路线教育实践活动个人对照检查材料
2014/09/23 职场文书
2015年社区宣传工作总结
2015/05/20 职场文书
任命书格式范文
2015/09/22 职场文书
详解JS WebSocket断开原因和心跳机制
2021/05/07 Javascript