python生成二维码

1.python-qrcode是个用来生成二维码图片的第三方模块,依赖于 PIL 模块和 qrcode 库。html

首先,咱们要安装三个模块,qrcode,image,PIL。python

pip install  qrcodesql

pip install  image网站

 

PIL:Python Imaging Library,已是Python平台事实上的图像处理标准库了。PIL功能很是强大,但API却很是简单易用。spa

在Debian/Ubuntu Linux下直接经过apt安装:code

$ sudo apt-get install python-imaging

Mac和其余版本的Linux能够直接使用easy_install或pip安装,安装前须要把编译环境装好:htm

$ sudo easy_install PIL

若是安装失败,根据提示先把缺失的包(好比openjpeg)装上。blog

Windows平台就去PIL官方网站下载exe安装包。图片

2.简单用法ip

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/

相关文章
相关标签/搜索