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的dict字典结构操作方法学习笔记
May 07 Python
详解python实现线程安全的单例模式
Mar 05 Python
特征脸(Eigenface)理论基础之PCA主成分分析法
Mar 13 Python
Django框架搭建的简易图书信息网站案例
May 25 Python
Python3实现汉语转换为汉语拼音
Jul 08 Python
Python3enumrate和range对比及示例详解
Jul 13 Python
django的分页器Paginator 从django中导入类
Jul 25 Python
Python通过VGG16模型实现图像风格转换操作详解
Jan 16 Python
Python为何不支持switch语句原理详解
Oct 21 Python
使用Python实现音频双通道分离
Dec 25 Python
pytorch实现手写数字图片识别
May 20 Python
Python 快速验证代理IP是否有效的方法实现
Jul 15 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显示搜索引擎来的关键词
2014/02/13 PHP
php数组转成json格式的方法
2015/03/09 PHP
php简单生成随机数的方法
2015/07/30 PHP
Laravel 之url参数,获取路由参数的例子
2019/10/21 PHP
用javascript将数据库中的TEXT类型数据动态赋值到TEXTAREA中
2007/04/20 Javascript
看了就知道什么是JSON
2007/12/09 Javascript
JavaScript 拾漏补遗
2009/12/27 Javascript
jQuery UI的Dialog无法提交问题的解决方法
2011/01/11 Javascript
Jquery实现动态切换图片的方法
2015/05/18 Javascript
基于JS实现无缝滚动思路及代码分享
2016/06/07 Javascript
JS 获取HTML标签内的子节点的方法
2016/09/21 Javascript
浅述节点的创建及常见功能的实现
2016/12/15 Javascript
js上传图片预览的实现方法
2017/05/09 Javascript
jquery插件开发之选项卡制作详解
2017/08/30 jQuery
Vue工程模板文件 webpack打包配置方法
2017/12/26 Javascript
JS关于刷新页面的相关总结
2018/05/09 Javascript
利用Vue的v-for和v-bind实现列表颜色切换
2020/07/17 Javascript
解决vue项目,npm run build后,报路径错的问题
2020/08/13 Javascript
Python实现PS图像调整颜色梯度效果示例
2018/01/25 Python
Python实现加载及解析properties配置文件的方法
2018/03/29 Python
python 读取.csv文件数据到数组(矩阵)的实例讲解
2018/06/14 Python
基于Python获取城市近7天天气预报
2019/11/26 Python
3种python调用其他脚本的方法
2020/01/06 Python
canvas绘制视频封面的方法
2018/02/05 HTML / CSS
Mountain Warehouse波兰官方网站:英国户外品牌
2019/08/29 全球购物
化工专业大学生职业生涯规划书
2014/01/14 职场文书
装修五一活动策划案
2014/01/23 职场文书
公司年会策划方案
2014/05/17 职场文书
党的群众路线教育实践活动个人整改方案
2014/10/25 职场文书
2014年社区教育工作总结
2014/12/02 职场文书
教师工作能力自我评价
2015/03/04 职场文书
医院财务人员岗位职责
2015/04/14 职场文书
圣诞晚会主持词开场白
2015/05/28 职场文书
MySQL笔记 —SQL运算符
2022/01/18 MySQL
CSS font-variation 可变字体的魅力(实例详解)
2022/03/03 HTML / CSS
Python实现Matplotlib,Seaborn动态数据图
2022/05/06 Python