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 相关文章推荐
记录Django开发心得
Jul 16 Python
Python 类的继承实例详解
Mar 25 Python
Python模糊查询本地文件夹去除文件后缀的实例(7行代码)
Nov 09 Python
python数据抓取分析的示例代码(python + mongodb)
Dec 25 Python
python中的随机函数random的用法示例
Jan 27 Python
python+opencv打开摄像头,保存视频、拍照功能的实现方法
Jan 08 Python
python多进程重复加载的解决方式
Dec 13 Python
Python3使用腾讯云文字识别(腾讯OCR)提取图片中的文字内容实例详解
Feb 18 Python
Jupyter打开图形界面并画出正弦函数图像实例
Apr 24 Python
关于keras.layers.Conv1D的kernel_size参数使用介绍
May 22 Python
浅谈盘点5种基于Python生成的个性化语音方法
Feb 05 Python
python中的class_static的@classmethod的巧妙用法
Jun 22 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 生成静态页面的办法与实现代码详细版
2010/02/15 PHP
PHP学习之输出字符串(echo,print,printf,print_r和var_dump)
2011/04/17 PHP
如何使用php输出时间格式
2013/08/31 PHP
实例简介PHP的一些高级面向对象编程的特性
2015/11/27 PHP
php mysqli查询语句返回值类型实例分析
2016/06/29 PHP
thinkphp中的url跳转用法分析
2016/07/12 PHP
php的常量和变量实例详解
2017/06/27 PHP
PHP echo()函数讲解
2019/02/15 PHP
让焦点自动跳转
2006/07/01 Javascript
js自动下载文件到本地的实现代码
2013/04/28 Javascript
详细解读AngularJS中的表单验证编程
2015/06/19 Javascript
JS Attribute属性操作详解
2016/05/19 Javascript
jQuery实现的省市县三级联动菜单效果完整实例
2016/08/01 Javascript
javascript self对象使用详解
2016/10/18 Javascript
微信小程序 实现拖拽事件监听实例详解
2016/11/16 Javascript
细说Vue组件的服务器端渲染的过程
2019/05/30 Javascript
Weex开发之WEEX-EROS开发踩坑(小结)
2019/10/16 Javascript
vue 实现把路由单独分离出来
2020/08/13 Javascript
JavaScript this关键字指向常用情况解析
2020/09/02 Javascript
vue+element UI实现树形表格
2020/12/29 Vue.js
[03:56]还原FTP电影首映式 DOTA2群星拼出遗迹世界
2014/03/26 DOTA
关于反爬虫的一些简单总结
2017/12/13 Python
python实现求两个字符串的最长公共子串方法
2018/07/20 Python
Django框架实现的简单分页功能示例
2018/12/04 Python
python实现可逆简单的加密算法
2019/03/22 Python
Python画图高斯分布的示例
2019/07/10 Python
Python进阶之使用selenium爬取淘宝商品信息功能示例
2019/09/16 Python
Pycharm中切换pytorch的环境和配置的教程详解
2020/03/13 Python
python 递归调用返回None的问题及解决方法
2020/03/16 Python
PUMA官方商城:世界领先的运动品牌之一
2016/11/16 全球购物
采购员的工作职责
2013/12/26 职场文书
小学教师暑期培训方案
2014/08/28 职场文书
大学生推广普通话演讲稿
2014/09/21 职场文书
2016父亲节感恩话语
2015/12/09 职场文书
大学生创业,为什么都会选择快餐饮?
2019/08/08 职场文书
利用python实时刷新基金估值(摸鱼小工具)
2021/09/15 Python