分享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的ORM框架SQLObject入门实例
Apr 28 Python
在Python中用keys()方法返回字典键的教程
May 21 Python
python实现判断数组是否包含指定元素的方法
Jul 15 Python
Python自动扫雷实现方法
Jul 25 Python
微信跳一跳辅助python代码实现
Jan 05 Python
numpy中实现二维数组按照某列、某行排序的方法
Apr 04 Python
Python使用pip安装pySerial串口通讯模块
Apr 20 Python
Python3网络爬虫开发实战之极验滑动验证码的识别
Aug 02 Python
使用python实现unix2dos和dos2unix命令的例子
Aug 13 Python
nginx+uwsgi+django环境搭建的方法步骤
Nov 25 Python
Python利用Xpath选择器爬取京东网商品信息
Jun 01 Python
如何用python爬取微博热搜数据并保存
Feb 20 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错误、异常处理机制(补充)
2012/05/07 PHP
PHP连接MongoDB示例代码
2012/09/06 PHP
浅谈Laravel队列实现原理解决问题记录
2017/08/19 PHP
使用git迁移Laravel项目至新开发环境的步骤详解
2020/04/06 PHP
JavaScript监测ActiveX控件是否已经安装过的代码
2008/09/02 Javascript
jQuery live
2009/05/15 Javascript
javascript 二分法(数组array)
2010/04/24 Javascript
5个javascript的数字格式化函数分享
2011/12/07 Javascript
博客侧边栏模块跟随滚动条滑动固定效果的实现方法(js+jquery等)
2013/03/24 Javascript
js 鼠标移动显示图片的简单实例
2013/12/25 Javascript
innerText 使用示例
2014/01/23 Javascript
JavaScript使用concat连接数组的方法
2015/04/06 Javascript
javascript实现的闭包简单实例
2015/07/17 Javascript
微信小程序  http请求封装详解及实例代码
2017/02/15 Javascript
解决nodejs中使用http请求返回值为html时乱码的问题
2017/02/18 NodeJs
实现div内部滚动条滚动到底部和顶部的代码
2017/11/15 Javascript
微信小程序wx.previewImage预览图片实例详解
2017/12/07 Javascript
深入了解query和params的使用区别
2019/06/24 Javascript
js实现文章目录索引导航(table of content)
2020/05/10 Javascript
js判断鼠标移入移出方向的方法
2020/06/24 Javascript
[40:03]RNG vs VG 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/17 DOTA
Python使用turtule画五角星的方法
2015/07/09 Python
Pycharm学习教程(2) 代码风格
2017/05/02 Python
在Python中执行系统命令的方法示例详解
2017/09/14 Python
python3大文件解压和基本操作
2017/12/15 Python
在Pycharm中将pyinstaller加入External Tools的方法
2019/01/16 Python
python用TensorFlow做图像识别的实现
2020/04/21 Python
django创建超级用户时指定添加其它字段方式
2020/05/14 Python
苏格兰领先的多渠道鞋店:Begg Shoes
2019/10/22 全球购物
几道PHP的面试题
2012/05/19 面试题
事业单位辞职信范文
2014/01/19 职场文书
党在我心中的演讲稿
2014/09/13 职场文书
郭明义观后感
2015/06/08 职场文书
运动员代表致辞
2015/07/29 职场文书
周一问候语大全
2015/11/10 职场文书
Z-Order加速Hudi大规模数据集方案分析
2022/03/31 Servers