分享Python文本生成二维码实例


Posted in Python onJanuary 06, 2016

本文实例分享了Python文本生成二维码的详细代码,供大家参考,具体内容如下

测试一:将文本生成白底黑字的二维码图片
测试二:将文本生成带logo的二维码图片

#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使用QRCode模块如何生成二维码?

1、简介
python-qrcode是个用来生成二维码图片的第三方模块,依赖于 PIL 模块和 qrcode 库。
2、简单用法

import qrcode 
img = qrcode.make('hello, qrcode')
img.save('test.png')

3、高级用法

import qrcode 
qr = qrcode.QRCode(   
  version=1,   
  error_correction=qrcode.constants.ERROR_CORRECT_L,   
  box_size=10,   
  border=4, 
) 
qr.add_data('hello, qrcode') 
qr.make(fit=True) 
img = qr.make_image()
img.save('123.png')

4、参数含义:

version:值为1~40的整数,控制二维码的大小(最小值是1,是个12×12的矩阵)。 如果想让程序自动确定,将值设置为 None 并使用 fit 参数即可。

error_correction:控制二维码的错误纠正功能。可取值下列4个常量。
ERROR_CORRECT_L:大约7%或更少的错误能被纠正。
ERROR_CORRECT_M(默认):大约15%或更少的错误能被纠正。
ROR_CORRECT_H:大约30%或更少的错误能被纠正。

box_size:控制二维码中每个小格子包含的像素数。

border:控制边框(二维码与图片边界的距离)包含的格子数(默认为4,是相关标准规定的最小值)

希望本文所述对大家学习Python程序设计有所帮助。

Python 相关文章推荐
Python编写检测数据库SA用户的方法
Jul 11 Python
使用Python进行二进制文件读写的简单方法(推荐)
Sep 12 Python
pycharm安装图文教程
May 02 Python
详细分析python3的reduce函数
Dec 05 Python
答题辅助python代码实现
Jan 16 Python
python 实现登录网页的操作方法
May 11 Python
python自动发送邮件脚本
Jun 20 Python
python+ffmpeg批量去视频开头的方法
Jan 09 Python
python 在指定范围内随机生成不重复的n个数实例
Jan 28 Python
Python3enumrate和range对比及示例详解
Jul 13 Python
PyCharm vs VSCode,作为python开发者,你更倾向哪种IDE呢?
Aug 17 Python
Python实现扫码工具的示例代码
Oct 09 Python
Python的MongoDB模块PyMongo操作方法集锦
Jan 05 #Python
使用Python神器对付12306变态验证码
Jan 05 #Python
Python聊天室实例程序分享
Jan 05 #Python
详解Python Socket网络编程
Jan 05 #Python
菜鸟使用python实现正则检测密码合法性
Jan 05 #Python
Python字符串特性及常用字符串方法的简单笔记
Jan 04 #Python
Python实现控制台进度条功能
Jan 04 #Python
You might like
Zend公司全球首推PHP认证
2006/10/09 PHP
PHP遍历二维数组的代码
2011/04/22 PHP
详谈php ip2long 出现负数的原因及解决方法
2017/04/05 PHP
PHP模糊查询技术实例分析【附源码下载】
2019/03/07 PHP
javascript对象的property和prototype是这样一种关系
2007/03/24 Javascript
Javascript弹出窗口的各种方法总结
2013/11/11 Javascript
Knockout text绑定DOM的使用方法
2013/11/15 Javascript
IE6下拉框图层问题探讨及解决
2014/01/03 Javascript
点击按钮出现60秒倒计时的简单js代码(推荐)
2016/06/07 Javascript
angular中实现控制器之间传递参数的方式
2017/04/24 Javascript
Vue-cli项目获取本地json文件数据的实例
2018/03/07 Javascript
Vue 仿QQ左滑删除组件功能
2018/03/12 Javascript
vue中使用iview自定义验证关键词输入框问题及解决方法
2018/03/26 Javascript
详解Vue CLI 3.0脚手架如何mock数据
2018/11/23 Javascript
解决Vue在Tomcat8下部署页面不加载的问题
2019/11/12 Javascript
[00:57]深扒TI7聊天轮盘语音出处5
2017/05/11 DOTA
[01:34]DOTA2 7.22版本新增神杖效果一览(敏捷英雄篇)
2019/05/28 DOTA
python获取beautifulphoto随机某图片代码实例
2013/12/18 Python
使用Python获取Linux系统的各种信息
2014/07/10 Python
pandas进行时间数据的转换和计算时间差并提取年月日
2019/07/06 Python
利用python实现周期财务统计可视化
2019/08/25 Python
Python容器使用的5个技巧和2个误区总结
2019/09/26 Python
Python实现计算长方形面积(带参数函数demo)
2020/01/18 Python
Python如何存储数据到json文件
2020/03/09 Python
Python 列表推导式需要注意的地方
2020/10/23 Python
CSS3中Color的一些特性介绍
2012/05/27 HTML / CSS
美国猫狗药物和用品网站:PetCareRx
2017/01/05 全球购物
美国领先的商务贺卡出版商:The Gallery Collection
2018/02/13 全球购物
大学军训感言
2014/01/10 职场文书
2014社区三八妇女节活动总结
2014/03/01 职场文书
股权转让协议书范本
2014/04/12 职场文书
体育教师研修感悟
2015/11/18 职场文书
《用字母表示数》教学反思
2016/02/17 职场文书
高中数学教学反思范文
2016/02/18 职场文书
SQL Server表分区降低运维和维护成本
2022/04/08 SQL Server
Python实现双向链表基本操作
2022/05/25 Python