https://github.com/lincolnloo...python
import qrcode
qrcode.QRCode( version=1, error_correction=qrcode.ERROR_CORRECT_L, box_size=10, border=4, image_factory=None, mask_pattern=None )
None
(默认)或者使用fit=true
参数(默认)时,二维码会自动调整大小。error_correction:控制二维码纠错级别。git
经常使用方法:github
data
参数;若是使用了optimize
优化参数,数据将被拆分为多个块来进行优化,以找到一个长度至少为这个值的足够简洁的方式来生成二维码。设置为“0”以免优化。fit
参数为真或者没有给出version
参数时,将会调用best_fit
方法来找到适合数据的最小尺寸。若是没有设置mask_pattern
,将会调用best_mask_pattern
方法来找到找到最有效的掩模图案。最后将这些数据传递给makeImpl
方法来生成二维码。与qrcode
本体的make
方法不同的是,这个方法没有任何返回值。 若是要让二维码有颜色,能够在这里设置。**数组
invert
参数是决定是否反转颜色的参数,默认为假,若是为真的话会这样:其余方法:svg
out
参数,会使用sys.stdout
。属性(这些你们基本都不用管):函数
qrcode
能够生成三种不一样的svg图像,一种是用路径表示的svg,一种是用矩形集合表示的完整svg文件,还有一种是用矩形集合表示的svg片断。第一种用路径表示的svg其实就是矢量图,能够在图像放大的时候能够保持图片质量,而另外两种可能会在格子之间出现空隙。 oop
这三种分别对应了svg.py中的SvgPathImage、SvgImage和SvgFragmentImage类。在调用qrcode.make
函数或者实例化QRCode
时看成image_factory
参数的值传入就能够了。优化
import qrcode.image.svg if method == 'basic': # Simple factory, just a set of rects. factory = qrcode.image.svg.SvgImage elif method == 'fragment': # Fragment factory (also just a set of rects) factory = qrcode.image.svg.SvgFragmentImage else: # Combined path factory, fixes white space that may occur when zooming factory = qrcode.image.svg.SvgPathImage img = qrcode.make('Some data here', image_factory=factory)
执行命令安装pymaging
相关模块:网站
pip install git+git://github.com/ojii/pymaging.git#egg=pymaging pip install git+git://github.com/ojii/pymaging-png.git#egg=pymaging-png
而后给image_factor
参数传入qrcode.image.pure.PymagingImage
就能够生成PNG图片了。spa
import qrcode from qrcode.image.pure import PymagingImage img = qrcode.make('Some data here', image_factory=PymagingImage)
这是做者推荐的方式,可是我我的认为,彻底没有必要这么麻烦,直接用默认的 PIL 就能够获取 PNG 图片了,例子看下文。
make
方法实际上就是在内部调用了QRCode(要转换的文本).make_image()
,最后(默认)返回了一个PIL图像对象。
# 显示图片 qrcode.make("hello world!").show() # 保存 PNG 图片 qrcode.make("hello world!").save('hello.png')
生成一个做者项目网站地址的二维码并显示出来。
翻译自做者的Github地址中的 README 和具体代码注释。