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使用7z解压软件备份文件脚本分享
Feb 21 Python
Python3 正在毁灭 Python的原因分析
Nov 28 Python
DataFrame 将某列数据转为数组的方法
Apr 13 Python
Python装饰器原理与用法分析
Apr 30 Python
python实现两张图片的像素融合
Feb 23 Python
Python2与Python3的区别实例总结
Apr 17 Python
ORM Django 终端打印 SQL 语句实现解析
Aug 09 Python
tensorflow 变长序列存储实例
Jan 20 Python
Python3批量创建Crowd用户并分配组
May 20 Python
详解python百行有效代码实现汉诺塔小游戏(简约版)
Oct 30 Python
Python实现京东抢秒杀功能
Jan 25 Python
详解Python中__new__方法的作用
Mar 31 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 杂谈《重构-改善既有代码的设计》之五 简化函数调用
2012/05/07 PHP
[原创]php正则删除html代码中class样式属性的方法
2017/05/24 PHP
PHP mongodb操作类定义与用法示例【适合mongodb2.x和mongodb3.x】
2018/06/16 PHP
js 新浪的一个图片播放图片轮换效果代码
2008/07/15 Javascript
JQuery 文本框使用小结
2010/05/22 Javascript
轻量级 JS ToolTip提示效果
2010/07/20 Javascript
图片在浏览器中底部对齐 解决方法之一
2011/11/30 Javascript
JavaScript高级程序设计(第3版)学习笔记8 js函数(中)
2012/10/11 Javascript
一个页面元素appendchild追加到另一个页面元素的问题
2013/01/27 Javascript
javascript使用onclick事件改变选中行的颜色
2013/12/30 Javascript
node.js开发中使用Node Supervisor实现监测文件修改并自动重启应用
2014/11/04 Javascript
基于javascript实现窗口抖动效果
2016/01/03 Javascript
headjs实现网站并行加载但顺序执行JS
2016/11/29 Javascript
canvas实现钟表效果
2017/02/13 Javascript
详解js正则表达式验证时间格式xxxx-xx-xx形式
2018/02/09 Javascript
浅谈Node.js 中间件模式
2018/06/12 Javascript
微信小程序实现文字从右向左无限滚动
2020/11/18 Javascript
在LayUI图片上传中,解决由跨域问题引起的请求接口错误的方法
2019/09/24 Javascript
[02:58]魔廷新尊——痛苦女王至宝语音台词节选
2020/06/14 DOTA
[01:50:49]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Aster BO3 第三场 1月24日
2021/03/11 DOTA
python端口扫描系统实现方法
2014/11/19 Python
python魔法方法-属性转换和类的表示详解
2016/07/22 Python
Python中的字符串操作和编码Unicode详解
2017/01/18 Python
老生常谈python中的重载
2018/11/11 Python
深入浅析Python2.x和3.x版本的主要区别
2018/11/30 Python
python中uuid模块实例浅析
2020/12/29 Python
公司JAVA开发面试题
2015/04/02 面试题
最美孝心少年事迹材料
2014/08/15 职场文书
学校端午节活动方案
2014/08/23 职场文书
口才训练演讲稿范文
2014/09/16 职场文书
2014镇副书记群众路线专题民主生活会思想汇报
2014/09/23 职场文书
地下停车场租赁协议范本
2014/10/07 职场文书
仓库管理员岗位职责
2015/02/03 职场文书
运动与健康自我评价
2015/03/09 职场文书
2016元旦主持人经典开场白台词
2015/12/03 职场文书
使用Selenium实现微博爬虫(预登录、展开全文、翻页)
2021/04/13 Python