分享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 函数传参之传值还是传引用的分析
Sep 07 Python
详解supervisor使用教程
Nov 21 Python
Python使用Turtle模块绘制五星红旗代码示例
Dec 11 Python
python 读取文本文件的行数据,文件.splitlines()的方法
Jul 12 Python
Python调用adb命令实现对多台设备同时进行reboot的方法
Oct 15 Python
Python文件循环写入行时防止覆盖的解决方法
Nov 09 Python
python 实现批量替换文本中的某部分内容
Dec 13 Python
Python获取对象属性的几种方式小结
Mar 12 Python
python获取整个网页源码的方法
Aug 03 Python
Python调用jar包方法实现过程解析
Aug 11 Python
Python 实现PS滤镜中的径向模糊特效
Dec 03 Python
python 视频下载神器(you-get)的具体使用
Jan 06 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
PHP正则的Unknown Modifier错误解决方法
2010/03/02 PHP
js自动下载文件到本地的实现代码
2013/04/28 Javascript
javascript获取和判断浏览器窗口、屏幕、网页的高度、宽度等
2014/05/08 Javascript
jquery实现LED广告牌旋转系统图片切换效果代码分享
2015/08/26 Javascript
jQuery实现带玻璃流光质感的手风琴特效
2015/11/20 Javascript
详解Angular路由之路由守卫
2018/05/10 Javascript
详解关于element级联选择器数据回显问题
2019/02/20 Javascript
微信小程序实现类似微信点击语音播放效果
2020/03/30 Javascript
解决vue中axios设置超时(超过5分钟)没反应的问题
2020/09/04 Javascript
python 算法 排序实现快速排序
2012/06/05 Python
在Python的Django框架上部署ORM库的教程
2015/04/20 Python
python决策树之CART分类回归树详解
2017/12/20 Python
利用python为运维人员写一个监控脚本
2018/03/25 Python
对Python 窗体(tkinter)树状数据(Treeview)详解
2018/10/11 Python
python字典值排序并取出前n个key值的方法
2018/10/17 Python
Linux下Python安装完成后使用pip命令的详细教程
2018/11/22 Python
使用matplotlib的pyplot模块绘图的实现示例
2020/07/12 Python
Python txt文件常用读写操作代码实例
2020/08/03 Python
实例讲解使用HTML5 Canvas绘制阴影效果的方法
2016/03/25 HTML / CSS
美国咖啡批发网站:Coffee.org
2017/06/29 全球购物
Skyscanner加拿大:全球旅行搜索平台
2018/11/19 全球购物
Engel & Bengel官网:婴儿推车、儿童房家具和婴儿设备
2019/12/28 全球购物
Juice Beauty官网:有机美容产品,护肤与化妆品
2020/06/13 全球购物
珍珠奶茶店创业计划书
2014/01/11 职场文书
中文师范生自荐信
2014/01/30 职场文书
青年志愿者事迹材料
2014/02/07 职场文书
企业军训感言
2014/02/08 职场文书
《蜗牛的奖杯》教后反思
2014/04/24 职场文书
产品销售计划书
2014/05/04 职场文书
医学求职信
2014/05/28 职场文书
向女朋友道歉的话
2015/01/20 职场文书
开除通知书范本
2015/04/25 职场文书
《圆的周长》教学反思
2016/02/17 职场文书
python获取字符串中的email
2022/03/31 Python
解决IIS7下无法绑定https主机的问题
2022/04/29 Servers
LeetCode189轮转数组python示例
2022/08/05 Python