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中使用sort()方法进行排序的简单教程
May 21 Python
Python基础篇之初识Python必看攻略
Jun 23 Python
Python基于socket模块实现UDP通信功能示例
Apr 10 Python
TensorFlow入门使用 tf.train.Saver()保存模型
Apr 24 Python
Python3匿名函数lambda介绍与使用示例
May 18 Python
Python 列表的清空方式
Jan 13 Python
浅谈tensorflow中Dataset图片的批量读取及维度的操作详解
Jan 20 Python
利用 PyCharm 实现本地代码和远端的实时同步功能
Mar 23 Python
python对XML文件的操作实现代码
Mar 27 Python
利用python实现凯撒密码加解密功能
Mar 31 Python
在CentOS7下安装Python3教程解析
Jul 09 Python
理解python中装饰器的作用
Jul 21 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下正则来匹配dede模板标签的代码
2010/08/21 PHP
php实现猴子选大王问题算法实例
2015/04/20 PHP
jQuery实战之仿淘宝商城左侧导航效果
2011/04/12 Javascript
回车直接实现点击某按钮的效果即触发单击事件
2014/02/27 Javascript
Javascript MVC框架Backbone.js详解
2014/09/18 Javascript
JQuery中的事件及动画用法实例
2015/01/26 Javascript
动态加载js的方法汇总
2015/02/13 Javascript
JQuery实现鼠标滚轮滑动到页面节点
2015/07/28 Javascript
javascript实现图片轮播效果
2016/01/20 Javascript
JS正则替换掉小括号及内容的方法
2016/11/29 Javascript
你不知道的 javascript【推荐】
2017/01/08 Javascript
$.browser.msie 为空或不是对象问题的多种解决方法
2017/03/19 Javascript
JavaScript mixin实现多继承的方法详解
2017/03/30 Javascript
vue获取DOM元素并设置属性的两种实现方法
2017/09/30 Javascript
Vue 组件注册实例详解
2019/02/23 Javascript
微信小程序 网络通信实现详解
2019/07/23 Javascript
vue计算属性无法监听到数组内部变化的解决方案
2019/11/06 Javascript
Vue 实现登录界面验证码功能
2020/01/03 Javascript
Python调用C语言开发的共享库方法实例
2015/03/18 Python
python开发中range()函数用法实例分析
2015/11/12 Python
python爬取拉勾网职位数据的方法
2018/01/24 Python
Python反射和内置方法重写操作详解
2018/08/27 Python
Python基础教程之if判断,while循环,循环嵌套
2019/04/25 Python
django中使用事务及接入支付宝支付功能
2019/09/15 Python
python小白学习包管理器pip安装
2020/06/09 Python
Python 保存加载mat格式文件的示例代码
2020/08/04 Python
html5 datalist 选中option选项后的触发事件
2020/03/05 HTML / CSS
全球第二大家装零售商:Lowe’s
2018/01/13 全球购物
早晨薰衣草在线女性精品店:Morning Lavender
2021/01/04 全球购物
UNIX操作系统结构由哪几部分组成
2016/02/17 面试题
兴趣小组活动总结
2014/05/05 职场文书
七夕活动策划方案
2014/08/16 职场文书
小学生心理健康活动总结
2015/05/08 职场文书
幼儿园家长反馈意见
2015/06/03 职场文书
创业计划书之酒厂
2019/10/14 职场文书
Python OpenCV超详细讲解读取图像视频和网络摄像头
2022/04/02 Python