Python实现将文本生成二维码的方法示例


Posted in Python onJuly 18, 2017

本文实例讲述了Python实现将文本生成二维码的方法。分享给大家供大家参考,具体如下:

#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 相关文章推荐
python实现udp数据报传输的方法
Sep 26 Python
python中pycurl库的用法实例
Sep 30 Python
给Python的Django框架下搭建的BLOG添加RSS功能的教程
Apr 08 Python
Python设计足球联赛赛程表程序的思路与简单实现示例
Jun 28 Python
python3.4用循环往mysql5.7中写数据并输出的实现方法
Jun 20 Python
python学生信息管理系统(初级版)
Oct 17 Python
Python实现将Excel转换成为image的方法
Oct 23 Python
Python 存储字符串时节省空间的方法
Apr 23 Python
python sorted方法和列表使用解析
Nov 18 Python
tensorflow模型转ncnn的操作方式
May 25 Python
python 删除系统中的文件(按时间,大小,扩展名)
Nov 19 Python
Elasticsearch 索引操作和增删改查
Apr 19 Python
Python实现动态加载模块、类、函数的方法分析
Jul 18 #Python
Python使用plotly绘制数据图表的方法
Jul 18 #Python
python中日志logging模块的性能及多进程详解
Jul 18 #Python
浅谈python中的__init__、__new__和__call__方法
Jul 18 #Python
Pycharm编辑器技巧之自动导入模块详解
Jul 18 #Python
python对DICOM图像的读取方法详解
Jul 17 #Python
Python实现excel转sqlite的方法
Jul 17 #Python
You might like
提升PHP执行速度全攻略(下)
2006/10/09 PHP
PHP源码分析之变量的存储过程分解
2014/07/03 PHP
php正则表达式使用方法整理集合
2020/01/31 PHP
tp5.1 框架join方法用法实例分析
2020/05/26 PHP
Javascript Jquery 遍历Json的实现代码
2010/03/31 Javascript
读jQuery之三(构建选择器)
2011/06/11 Javascript
ASP.NET jQuery 实例13 原创jQuery文本框字符限制插件-TextArea Counter
2012/02/03 Javascript
IE下写xml文件的两种方式(fso/saveAs)
2013/08/05 Javascript
JS远程获取网页源代码实例
2013/09/05 Javascript
深入理解JSON数据源格式
2014/01/10 Javascript
js中实现多态采用和继承类似的方法
2014/08/22 Javascript
jQuery+AJAX实现网页无刷新上传
2015/02/22 Javascript
使用JavaScript为Kindeditor自定义按钮增加Audio标签
2016/03/18 Javascript
简单了解JavaScript操作XPath的一些基本方法
2016/06/03 Javascript
基于jquery实现弹幕效果
2016/09/29 Javascript
javascript的几种写法总结
2016/09/30 Javascript
JS类的定义与使用方法深入探索
2016/11/26 Javascript
ionic开发中点击input时键盘自动弹出
2016/12/23 Javascript
基于JavaScript实现窗口拖动效果
2017/01/18 Javascript
AngularJS使用ng-class动态增减class样式的方法示例
2017/05/18 Javascript
Vuex提升学习篇
2018/01/11 Javascript
vue-cli项目使用mock数据的方法(借助express)
2019/04/15 Javascript
Vue中UI组件库之Vuex与虚拟服务器初识
2019/05/07 Javascript
JointJS JavaScript流程图绘制框架解析
2019/08/15 Javascript
小程序实现上传视频功能
2020/08/18 Javascript
浅谈JavaScript 声明提升
2020/09/14 Javascript
CentOS 7下Python 2.7升级至Python3.6.1的实战教程
2017/07/06 Python
python 用opencv调用训练好的模型进行识别的方法
2018/12/07 Python
python生成每日报表数据(Excel)并邮件发送的实例
2019/02/03 Python
Python3 pickle对象串行化代码实例解析
2020/03/23 Python
纯css3实现的鼠标悬停动画按钮
2014/12/23 HTML / CSS
美国高档百货Nordstrom的折扣店:Nordstrom Rack
2017/11/13 全球购物
数控机械专业个人的自我评价
2014/01/02 职场文书
个人函授自我鉴定
2014/03/25 职场文书
聘任书的写作格式及范文
2014/03/29 职场文书
可可西里观后感
2015/06/08 职场文书