分享Python文本生成二维码实例


Posted in Python onJanuary 06, 2016

本文实例分享了Python文本生成二维码的详细代码,供大家参考,具体内容如下

测试一:将文本生成白底黑字的二维码图片
测试二:将文本生成带logo的二维码图片

#coding:utf-8
'''
Python生成二维码 v1.0
主要将文本生成二维码图片
 
测试一:将文本生成白底黑字的二维码图片
测试二:将文本生成带logo的二维码图片
 
'''
 
__author__ = 'Xue'
 
import qrcode
from PIL import Image
import os
 
#生成二维码图片
def make_qr(str,save):
 qr=qrcode.QRCode(
  version=4, #生成二维码尺寸的大小 1-40 1:21*21(21+(n-1)*4)
  error_correction=qrcode.constants.ERROR_CORRECT_M, #L:7% M:15% Q:25% H:30%
  box_size=10, #每个格子的像素大小
  border=2, #边框的格子宽度大小
 )
 qr.add_data(str)
 qr.make(fit=True)
 
 img=qr.make_image()
 img.save(save)
 
 
#生成带logo的二维码图片
def make_logo_qr(str,logo,save):
 #参数配置
 qr=qrcode.QRCode(
  version=4,
  error_correction=qrcode.constants.ERROR_CORRECT_Q,
  box_size=8,
  border=2
 )
 #添加转换内容
 qr.add_data(str)
 #
 qr.make(fit=True)
 #生成二维码
 img=qr.make_image()
 #
 img=img.convert("RGBA")
 
 #添加logo
 if logo and os.path.exists(logo):
  icon=Image.open(logo)
  #获取二维码图片的大小
  img_w,img_h=img.size
 
  factor=4
  size_w=int(img_w/factor)
  size_h=int(img_h/factor)
 
  #logo图片的大小不能超过二维码图片的1/4
  icon_w,icon_h=icon.size
  if icon_w>size_w:
   icon_w=size_w
  if icon_h>size_h:
   icon_h=size_h
  icon=icon.resize((icon_w,icon_h),Image.ANTIALIAS)
  
  #计算logo在二维码图中的位置
  w=int((img_w-icon_w)/2)
  h=int((img_h-icon_h)/2)
  icon=icon.convert("RGBA")
  img.paste(icon,(w,h),icon)
  
 #保存处理后图片
 img.save(save)
 
 
if __name__=='__main__':
 save_path='theqrcode.png' #生成后的保存文件
 logo='logo.jpg' #logo图片
 
 str=raw_input('请输入要生成二维码的文本内容:')
 
 #make_qr(str)
 
 make_logo_qr(str,logo,save_path)

那Python使用QRCode模块如何生成二维码?

1、简介
python-qrcode是个用来生成二维码图片的第三方模块,依赖于 PIL 模块和 qrcode 库。
2、简单用法

import qrcode 
img = qrcode.make('hello, qrcode')
img.save('test.png')

3、高级用法

import qrcode 
qr = qrcode.QRCode(   
  version=1,   
  error_correction=qrcode.constants.ERROR_CORRECT_L,   
  box_size=10,   
  border=4, 
) 
qr.add_data('hello, qrcode') 
qr.make(fit=True) 
img = qr.make_image()
img.save('123.png')

4、参数含义:

version:值为1~40的整数,控制二维码的大小(最小值是1,是个12×12的矩阵)。 如果想让程序自动确定,将值设置为 None 并使用 fit 参数即可。

error_correction:控制二维码的错误纠正功能。可取值下列4个常量。
ERROR_CORRECT_L:大约7%或更少的错误能被纠正。
ERROR_CORRECT_M(默认):大约15%或更少的错误能被纠正。
ROR_CORRECT_H:大约30%或更少的错误能被纠正。

box_size:控制二维码中每个小格子包含的像素数。

border:控制边框(二维码与图片边界的距离)包含的格子数(默认为4,是相关标准规定的最小值)

希望本文所述对大家学习Python程序设计有所帮助。

Python 相关文章推荐
python选择排序算法的实现代码
Nov 21 Python
从零学python系列之从文件读取和保存数据
May 23 Python
python实用代码片段收集贴
Jun 03 Python
深入理解Python中命名空间的查找规则LEGB
Aug 06 Python
在Python的while循环中使用else以及循环嵌套的用法
Oct 14 Python
Django框架教程之正则表达式URL误区详解
Jan 28 Python
一百多行python代码实现抢票助手
Sep 25 Python
Python中实例化class的执行顺序示例详解
Oct 14 Python
Python Pandas数据结构简单介绍
Jul 03 Python
Python hashlib模块加密过程解析
Nov 05 Python
Python reques接口测试框架实现代码
Jul 28 Python
一劳永逸彻底解决pip install慢的办法
May 24 Python
Python的MongoDB模块PyMongo操作方法集锦
Jan 05 #Python
使用Python神器对付12306变态验证码
Jan 05 #Python
Python聊天室实例程序分享
Jan 05 #Python
详解Python Socket网络编程
Jan 05 #Python
菜鸟使用python实现正则检测密码合法性
Jan 05 #Python
Python字符串特性及常用字符串方法的简单笔记
Jan 04 #Python
Python实现控制台进度条功能
Jan 04 #Python
You might like
PHP删除指定目录中的所有目录及文件的方法
2015/02/26 PHP
Yii+upload实现AJAX上传图片的方法
2016/07/13 PHP
YII2 实现多语言配置的方法分享
2017/01/11 PHP
Yii2框架实现利用mpdf创建pdf文件功能示例
2019/02/08 PHP
[JS]点出统计器
2020/10/11 Javascript
JS中如何判断传过来的JSON数据中是否存在某字段
2014/08/18 Javascript
node.js中的fs.unlinkSync方法使用说明
2014/12/15 Javascript
jQuery中closest()函数用法实例
2015/01/07 Javascript
jquery实现用户打分评分特效
2015/05/28 Javascript
jQuery实现的自动加载页面功能示例
2016/09/04 Javascript
利用jQuery来动态为属性添加或者删除属性的简单方法
2016/12/02 Javascript
js 判断数据类型的几种方法
2017/01/13 Javascript
angularjs 页面自适应高度的方法
2018/01/17 Javascript
vue-cli3.0如何使用CDN区分开发、生产、预发布环境
2018/11/22 Javascript
在Echarts图中给坐标轴加一个标识线markLine
2020/07/20 Javascript
python根据距离和时长计算配速示例
2014/02/16 Python
在Python的Django框架中创建和使用模版
2015/07/15 Python
Python、PyCharm安装及使用方法(Mac版)详解
2017/04/28 Python
Python第三方库h5py_读取mat文件并显示值的方法
2019/02/08 Python
简单瞅瞅Python vars()内置函数的实现
2019/09/27 Python
PYTHON实现SIGN签名的过程解析
2019/10/28 Python
使用OpenCV-python3实现滑动条更新图像的Canny边缘检测功能
2019/12/12 Python
在Python中通过threshold创建mask方式
2020/02/19 Python
在jupyter notebook 添加 conda 环境的操作详解
2020/04/10 Python
在Keras中CNN联合LSTM进行分类实例
2020/06/29 Python
Python实现封装打包自己写的代码,被python import
2020/07/12 Python
CSS3下的渐变文字效果实现示例
2018/03/02 HTML / CSS
CSS3实现莲花绽放的动画效果
2020/11/06 HTML / CSS
Web前端页面跳转并取到值
2017/04/24 HTML / CSS
关于是否需要写商业计划书
2014/02/07 职场文书
刚毕业大学生自荐信范文
2014/02/20 职场文书
父母对孩子说的话
2014/04/12 职场文书
法定代表人证明书
2014/11/28 职场文书
宣传委员竞选稿
2015/11/19 职场文书
残联2016年全国助残日活动总结
2016/04/01 职场文书
Java使用Unsafe类的示例详解
2021/09/25 Java/Android