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 相关文章推荐
一个检测OpenSSL心脏出血漏洞的Python脚本分享
Apr 10 Python
python实现监控windows服务并自动启动服务示例
Apr 17 Python
Python标准库urllib2的一些使用细节总结
Mar 16 Python
python通过openpyxl生成Excel文件的方法
May 12 Python
举例讲解Python设计模式编程的代理模式与抽象工厂模式
Jan 16 Python
python去掉行尾的换行符方法
Jan 04 Python
Python实现中一次读取多个值的方法
Apr 22 Python
Python 使用Numpy对矩阵进行转置的方法
Jan 28 Python
Python使用sqlalchemy模块连接数据库操作示例
Mar 13 Python
关于pymysql模块的使用以及代码详解
Sep 01 Python
python 使用递归回溯完美解决八皇后的问题
Feb 26 Python
Python学习之包与模块详解
Mar 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生成excel文件到指定目录
2015/06/22 PHP
Yii2中事务的使用实例代码详解
2016/09/07 PHP
php实现QQ小程序发送模板消息功能
2019/09/18 PHP
laravel 框架结合关联查询 when()用法分析
2019/11/22 PHP
JavaScript子窗口ModalDialog中操作父窗口对像
2012/12/11 Javascript
JavaScript实现的图像模糊算法代码分享
2014/04/22 Javascript
jQuery选择器源码解读(八):addCombinator函数
2015/03/31 Javascript
BootStrap制作导航条实例代码
2016/05/06 Javascript
深入剖析javascript中的exec与match方法
2016/05/18 Javascript
动态加载js、css的实例代码
2016/05/26 Javascript
vue.js学习笔记之绑定style样式和class列表
2016/10/31 Javascript
Vue.js基础指令实例讲解(各种数据绑定、表单渲染大总结)
2017/07/03 Javascript
AngualrJs清除定时器遇到的坑
2017/10/13 Javascript
Javascript迭代、递推、穷举、递归常用算法实例讲解
2019/02/01 Javascript
[01:14]DOTA2亚洲邀请赛小组赛赛前花絮
2017/03/27 DOTA
[56:46]Liquid vs IG 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/18 DOTA
十个Python程序员易犯的错误
2015/12/15 Python
python 实现上传图片并预览的3种方法(推荐)
2017/07/14 Python
Python实现随机取一个矩阵数组的某几行
2019/11/26 Python
Pytorch的mean和std调查实例
2020/01/02 Python
Pycharm远程连接服务器并实现代码同步上传更新功能
2020/02/25 Python
Python切片列表字符串如何实现切换
2020/08/06 Python
解析python 类方法、对象方法、静态方法
2020/08/15 Python
李宁官方网店:中国运动品牌
2017/11/02 全球购物
Priority Pass机场贵宾室会籍计划:全球超过1200间机场贵宾室
2018/08/26 全球购物
日化店促销方案
2014/03/26 职场文书
《李时珍夜宿古寺》教学反思
2014/04/09 职场文书
幼儿园教师的考核评语
2014/04/18 职场文书
文秘专业应届生求职信
2014/05/26 职场文书
学雷锋标语
2014/06/25 职场文书
宣传标语大全
2014/07/01 职场文书
介绍信模板
2015/01/31 职场文书
幼儿园教师个人总结
2015/02/05 职场文书
事业单位个人总结
2015/02/12 职场文书
《童年的发现》教学反思
2016/02/18 职场文书
详解Java七大阻塞队列之SynchronousQueue
2021/09/04 Java/Android