二维码图像发生器

qrcode的Python项目详细描述


纯python二维码生成器

生成二维码。

对于标准安装(将包括用于生成图像的枕头)。 运行:

pip install qrcode[pil]

什么是二维码?

快速响应码是一种用于快速响应的二维象形码 可读性和较大的存储容量。代码包括 在白色背景上呈正方形排列的黑色模块。这个 编码的信息可以由任何类型的数据(例如二进制, 字母数字或汉字符号)

用法

在命令行中,使用已安装的 qr 脚本:

qr "Some text" > test.png

或者在python中,使用 make 快捷函数:

importqrcodeimg=qrcode.make('Some data here')

高级用法

要进行更多控制,请使用 qrcode 类。例如:

importqrcodeqr=qrcode.QRCode(version=1,error_correction=qrcode.constants.ERROR_CORRECT_L,box_size=10,border=4,)qr.add_data('Some data')qr.make(fit=True)img=qr.make_image(fill_color="black",back_color="white")

version 参数是1到40之间的整数,用于控制 二维码(最小的版本1是21x21矩阵)。 设置为 none 并在生成代码时使用 fit 参数来确定 这是自动的。

填充色 背景色 可以改变背景和绘画 使用默认图像工厂时,二维码的颜色。

错误校正 参数控制用于 QR码。以下四个常数可用于 qrcode 包装:

< DL>
错误纠正
可以更正大约7%或更少的错误。
错误纠正(默认值)
可以更正大约15%或更少的错误。
错误纠正
可以更正大约25%或更少的错误。
错误纠正
可以更正大约30%或更少的错误。

框大小参数控制二维码的每个"框"有多少像素 是

border 参数控制边框的厚度 (默认值为4,这是根据规格的最小值)。

其他图像工厂

您可以将其编码为svg,或者使用新的纯python图像处理器将其编码为 PNG图像。

下面的python示例使用 make 快捷方式。相同的图像工厂 关键字参数对于更高级的qrcode类是有效的选项 用法:

SVG

您可以创建整个svg或svg片段。构建整个svg时 图片中,可以使用组合为路径的工厂(建议,和 脚本的默认值)或创建简单矩形集的工厂。

从您的命令行:

qr --factory=svg-path "Some text" > test.svg
qr --factory=svg "Some text" > test.svg
qr --factory=svg-fragment "Some text" > test.svg

或者在python中:

importqrcodeimportqrcode.image.svgifmethod=='basic':# Simple factory, just a set of rects.factory=qrcode.image.svg.SvgImageelifmethod=='fragment':# Fragment factory (also just a set of rects)factory=qrcode.image.svg.SvgFragmentImageelse:# Combined path factory, fixes white space that may occur when zoomingfactory=qrcode.image.svg.SvgPathImageimg=qrcode.make('Some data here',image_factory=factory)

另外两个相关的工厂也有相同的工作,但也填补了 SVG的背景为白色:

qrcode.image.svg.SvgFillImage
qrcode.image.svg.SvgPathFillImage

纯python png

安装以下两个软件包:

pip install git+git://github.com/ojii/pymaging.git#egg=pymaging
pip install git+git://github.com/ojii/pymaging-png.git#egg=pymaging-png

从您的命令行:

qr --factory=pymaging "Some text" > test.png

或者在python中:

pip install qrcode[pil]
0

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java操作数组上的字符串   java JAXB内容未实例化   图形在Java中如何绘制垂直居中的字符串?   java Apache Ant:使用Junit时出现NoClassDefFoundError   java无法从服务器上运行perl脚本   如何在java中沿树进行预排序遍历,并打印0和1以对应每个节点上的特定字符?   java如何创建。p12文件?   java线程访问无效   java只匹配命名空间中的XML节点,而不知道NS前缀   从java获取2d arraylist元素   数组Java动态集合对象   java Xpath通过通配符或布尔运算查找以相同名称开头的节点?   java注释元素类型   java在中看不到Super()。反编译后的类文件