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爬虫之抓取糗事百科代码分享
Nov 06 Python
将Python代码打包为jar软件的简单方法
Aug 04 Python
Python生成随机验证码的两种方法
Dec 22 Python
python爬虫入门教程--优雅的HTTP库requests(二)
May 25 Python
python读取中文txt文本的方法
Apr 12 Python
python tkinter窗口最大化的实现
Jul 15 Python
python调用其他文件函数或类的示例
Jul 16 Python
python匿名函数的使用方法解析
Oct 10 Python
python3 webp转gif格式的实现示例
Dec 10 Python
Python通过两个dataframe用for循环求笛卡尔积
Apr 29 Python
Python之Matplotlib文字与注释的使用方法
Jun 18 Python
Pytorch mask-rcnn 实现细节分享
Jun 24 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时数字变为科学计数的解决方法
2013/02/03 PHP
PHP执行批量mysql语句的解决方法
2013/05/02 PHP
PHP开发框架Laravel数据库操作方法总结
2014/09/03 PHP
php实现singleton()单例模式实例
2014/11/06 PHP
Codeigniter检测表单post数据的方法
2015/03/21 PHP
PHP PDOStatement::closeCursor讲解
2019/01/30 PHP
javascript 限制输入和粘贴(IE,firefox测试通过)
2008/11/14 Javascript
javascript 设置文本框中焦点的位置
2009/11/20 Javascript
鼠标右击事件代码(asp.net后台)
2011/01/27 Javascript
jquery $("#variable") 循环改变variable的值示例
2014/02/23 Javascript
js获取数组的最后一个元素
2015/04/14 Javascript
jQuery EasyUI 菜单与按钮之创建简单的菜单和链接按钮
2015/11/18 Javascript
微信小程序 教程之注册页面
2016/10/17 Javascript
网站发布后Bootstrap框架引用woff字体无法正常显示的解决方法
2016/11/24 Javascript
Bootstrap CSS组件之按钮组(btn-group)
2016/12/17 Javascript
原生js实现图片放大缩小计时器效果
2017/01/20 Javascript
JavaScript解析任意形式的json树型结构展示
2017/07/23 Javascript
Vue.js框架路由使用方法实例详解
2017/08/25 Javascript
vue-router 导航钩子的具体使用方法
2017/08/31 Javascript
Javascript中弹窗confirm与prompt的区别
2018/10/26 Javascript
Auto.JS实现抖音刷宝等刷视频app,自动点赞,自动滑屏,自动切换视频功能
2020/05/08 Javascript
Python实现优先级队列结构的方法详解
2016/06/02 Python
python绘制双柱形图代码实例
2017/12/14 Python
python实现K最近邻算法
2018/01/29 Python
解决python3插入mysql时内容带有引号的问题
2020/03/02 Python
Python接口自动化测试框架运行原理及流程
2020/11/30 Python
纯CSS3制作的鼠标悬停时边框旋转
2017/01/03 HTML / CSS
医院实习接收函
2014/01/12 职场文书
新闻编辑专业毕业自荐书范文
2014/02/05 职场文书
乌鸦喝水教学反思
2014/02/07 职场文书
文明城市创建标语
2014/06/16 职场文书
幼师求职信
2014/06/23 职场文书
中国梦演讲稿开场白
2014/08/28 职场文书
公司股份合作协议书
2014/12/07 职场文书
爱的承诺书
2015/01/20 职场文书
《秦兵马俑》教学反思
2016/02/24 职场文书