python生成二维码
2016-05-04 11:37
519 查看
1.python-qrcode是个用来生成二维码图片的第三方模块,依赖于 PIL 模块和 qrcode 库。
首先,我们要安装三个模块,qrcode,image,PIL。
pip install qrcode
pip install image
PIL:Python Imaging Library,已经是Python平台事实上的图像处理标准库了。PIL功能非常强大,但API却非常简单易用。
在Debian/Ubuntu Linux下直接通过apt安装:
Mac和其他版本的Linux可以直接使用easy_install或pip安装,安装前需要把编译环境装好:
如果安装失败,根据提示先把缺失的包(比如openjpeg)装上。
Windows平台就去PIL官方网站下载exe安装包。
2.简单用法
3.高级用法
4.带有logo图案的二维码
参数含义:
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,是相关标准规定的最小值)。
img.save:是将生成二维码图片保存到哪里。
参考文档:
http://www.xuchanggang.cn/archives/1069.html http://www.cnblogs.com/linjiqin/p/4140455.html http://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/00140767171357714f87a053a824ffd811d98a83b58ec13000
官网及参考手册
http://pythonware.com/products/pil/ http://effbot.org/imagingbook/
首先,我们要安装三个模块,qrcode,image,PIL。
pip install qrcode
pip install image
PIL:Python Imaging Library,已经是Python平台事实上的图像处理标准库了。PIL功能非常强大,但API却非常简单易用。
在Debian/Ubuntu Linux下直接通过apt安装:
$ sudo apt-get install python-imaging
Mac和其他版本的Linux可以直接使用easy_install或pip安装,安装前需要把编译环境装好:
$ sudo easy_install PIL
如果安装失败,根据提示先把缺失的包(比如openjpeg)装上。
Windows平台就去PIL官方网站下载exe安装包。
2.简单用法
import qrcode img = qrcode.make('simpleqrcode') img.save('D:/simpleqrcode.jpg') #img.show()
3.高级用法
import qrcode qr=qrcode.QRCode(version = 2,error_correction = qrcode.constants.ERROR_CORRECT_L,box_size=10,border=10,) qr.add_data('http://www.cnblogs.com/sfnz/') qr.make(fit=True) img = qr.make_image() img.show() #img.save('D:/test.jpg')
4.带有logo图案的二维码
from PIL import Image import qrcode qr = qrcode.QRCode(version=5,error_correction=qrcode.constants.ERROR_CORRECT_H,box_size=8,border=4) qr.add_data("http://www.cnblogs.com/sfnz/") qr.make(fit=True) img = qr.make_image() img = img.convert("RGBA") #logo="D:/favicon.jpg" icon = Image.open("D:/favicon.jpg") img_w,img_h = img.size factor = 4 size_w = int(img_w / factor) size_h = int(img_h / factor) 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) 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.show() img.save('D:/createlogo.jpg')
参数含义:
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,是相关标准规定的最小值)。
img.save:是将生成二维码图片保存到哪里。
参考文档:
http://www.xuchanggang.cn/archives/1069.html http://www.cnblogs.com/linjiqin/p/4140455.html http://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/00140767171357714f87a053a824ffd811d98a83b58ec13000
官网及参考手册
http://pythonware.com/products/pil/ http://effbot.org/imagingbook/
相关文章推荐
- Python——time模块&datetime模块
- python dict 实现 switch 功能
- python 递归实现 汉诺塔
- python 迭代器(iterator)和生成器(constructor)
- Python 对 验证码的使用
- (好文转发)关于Python脚本开头两行的:#!/usr/bin/python和# -*- coding: utf-8 -*-的作用 – 指定文件编码类型
- python的IDE:PyCharm
- python中sort sorted() reverse() reversed() 的区别
- python 类修饰器
- 【Python】批量创建线程
- python 3.x 关键字 (保留字)
- Python编程中归并排序算法的实现步骤详解
- [python]面试题:交换两数且不使用临时变量
- 学习TensorFlow,浅析MNIST的python代码
- 学习tensorflow,浅析MNIST的python代码
- python email模块的使用实例
- 神奇的getattr - Python
- Python手机号码归属地查询代码
- 165. Compare Version Numbers [easy] (Python)
- 图文讲解选择排序算法的原理及在Python中的实现