分享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 29 Python
numpy中的高维数组转置实例
Apr 17 Python
tensorflow 打印内存中的变量方法
Jul 30 Python
python实现转盘效果 python实现轮盘抽奖游戏
Jan 22 Python
Django项目中添加ldap登陆认证功能的实现
Apr 04 Python
python3 自动识别usb连接状态,即对usb重连的判断方法
Jul 03 Python
Python超越函数积分运算以及绘图实现代码
Nov 20 Python
Python3如何在服务器打印资产信息
Aug 27 Python
PyQt实现计数器的方法示例
Jan 18 Python
Flask response响应的具体使用
Jul 15 Python
 Python 中 logging 模块使用详情
Mar 03 Python
yolov5返回坐标的方法实例
Mar 17 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_Flame(Version:Progress)的原代码
2006/10/09 PHP
php whois查询API制作方法
2011/06/23 PHP
javascript 必知必会之closure
2009/09/21 Javascript
jquery中实现简单的tabs插件功能的代码
2011/03/02 Javascript
jQuery EasyUI API 中文文档 - Menu菜单
2011/10/03 Javascript
仿百度的关键词匹配搜索示例
2013/09/25 Javascript
使用jquery.validate自定义方法实现"手机号码或者固话至少填写一个"的逻辑验证
2014/09/01 Javascript
jquery专业的导航菜单特效代码分享
2015/08/29 Javascript
基于jQuery实现表格内容的筛选功能
2016/08/21 Javascript
vue中appear的用法
2017/08/17 Javascript
浅谈Vue.nextTick 的实现方法
2017/10/25 Javascript
微信小程序swiper组件用法实例分析【附源码下载】
2017/12/07 Javascript
小程序云开发实战小结
2018/10/25 Javascript
ES6中字符串的使用方法扩展
2019/06/04 Javascript
node.js express捕获全局异常的三种方法实例分析
2019/12/27 Javascript
Vue组件模板及组件互相引用代码实例
2020/03/11 Javascript
python下载文件时显示下载进度的方法
2015/04/02 Python
urllib和BeautifulSoup爬取维基百科的词条简单实例
2018/01/17 Python
Python闭包执行时值的传递方式实例分析
2018/06/04 Python
Python、 Pycharm、Django安装详细教程(图文)
2019/04/12 Python
PyTorch搭建多项式回归模型(三)
2019/05/22 Python
Python3将数据保存为txt文件的方法
2019/09/12 Python
Python搭建代理IP池实现检测IP的方法
2019/10/27 Python
Python pip安装第三方库实现过程解析
2020/07/09 Python
Python定时任务APScheduler安装及使用解析
2020/08/07 Python
matplotlib自定义鼠标光标坐标格式的实现
2021/01/08 Python
英国标志性奢侈品牌:Burberry
2016/07/28 全球购物
经销商会议欢迎词
2014/01/11 职场文书
《寓言两则》教学反思
2014/02/27 职场文书
二手房买卖协议书
2014/04/10 职场文书
学生吸烟检讨书
2014/09/14 职场文书
2014年财务人员工作总结
2014/11/11 职场文书
房产遗嘱范本
2015/08/06 职场文书
Python包argparse模块常用方法
2021/06/04 Python
【海涛dota】偶遇拉娜娅 质量局德鲁伊第一视角解说
2022/04/01 DOTA
JS前端监控采集用户行为的N种姿势
2022/07/23 Javascript