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 相关文章推荐
Pyramid将models.py文件的内容分布到多个文件的方法
Nov 27 Python
用Python编写一个国际象棋AI程序
Nov 28 Python
Python Opencv实现图像轮廓识别功能
Mar 23 Python
关于不懂Chromedriver如何配置环境变量问题解决方法
Jun 12 Python
python导包的几种方法(自定义包的生成以及导入详解)
Jul 15 Python
解决Django删除migrations文件夹中的文件后出现的异常问题
Aug 31 Python
Python图片的横坐标汉字实例
Dec 04 Python
python3光学字符识别模块tesserocr与pytesseract的使用详解
Feb 26 Python
Python下使用Trackbar实现绘图板
Oct 27 Python
Django展示可视化图表的多种方式
Apr 08 Python
python使用PySimpleGUI设置进度条及控件使用
Jun 10 Python
浅谈哪个Python库才最适合做数据可视化
Jun 28 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
受疫情影响 动画《Re从零开始的异世界生活》第二季延期至7月
2020/03/10 日漫
用PHP实现的随机广告显示代码
2007/06/14 PHP
常用的php ADODB使用方法集锦
2008/03/25 PHP
php中smarty变量修饰用法实例分析
2015/06/11 PHP
一个简单安全的PHP验证码类、PHP验证码
2016/09/24 PHP
JavaScript使用过程中需要注意的地方和一些基本语法
2010/08/26 Javascript
关于javascript function对象那些迷惑分析
2011/10/24 Javascript
Javascript Request获取请求参数如何实现
2012/11/28 Javascript
js模仿html5 placeholder适应于不支持的浏览器
2013/01/13 Javascript
JavaScript验证18位身份证号码最后一位正确性的实现代码
2014/08/07 Javascript
JavaScript记录光标在编辑器中位置的实现方法
2016/04/22 Javascript
js实现各种复制到剪贴板的方法(分享)
2016/10/27 Javascript
Vue.js第四天学习笔记
2016/12/02 Javascript
学习使用ExpressJS 4.0中的新Router的用法
2018/11/06 Javascript
vue实现压缩图片预览并上传功能(promise封装)
2019/01/10 Javascript
利用Dectorator分模块存储Vuex状态的实现
2019/02/05 Javascript
微信小程序实现蒙版弹出窗功能
2019/09/17 Javascript
深入理解javascript prototype的相关知识
2019/09/19 Javascript
关于vue组件事件属性穿透详解
2019/10/28 Javascript
js实现无限层级树形数据结构(创新算法)
2020/02/27 Javascript
Vue基于localStorage存储信息代码实例
2020/11/16 Javascript
[01:06]DOTA2隆重推出2016冬季勇士令状 内含上海特级锦标赛互动指南
2016/02/17 DOTA
[04:49]期待西雅图之战 2016国际邀请赛中国区预选赛WINGS战队赛后采访
2016/06/29 DOTA
从零学python系列之教你如何根据图片生成字符画
2014/05/23 Python
Python创建对称矩阵的方法示例【基于numpy模块】
2017/10/12 Python
Django项目中model的数据处理以及页面交互方法
2018/05/30 Python
Python hexstring-list-str之间的转换方法
2019/06/12 Python
python面向对象 反射原理解析
2019/08/12 Python
python3使用print打印带颜色的字符串代码实例
2019/08/22 Python
css3实例教程 一款纯css3实现的发光屏幕旋转特效
2014/12/07 HTML / CSS
在线购买澳大利亚设计师手拿包和奢华晚装手袋:Olga Berg
2019/03/20 全球购物
手工制作的男士奢华英国鞋和服装之家:Goodwin Smith
2019/06/21 全球购物
建筑施工实习自我鉴定
2013/09/19 职场文书
缓刑人员的思想汇报
2014/01/11 职场文书
教师年度考核评语
2014/04/28 职场文书
学校捐款活动总结
2015/05/09 职场文书