最近关注的这些公众号都在说这个五六行代码生成二维码的库,就是这个qrcode,没错就是这么土土的名字。
老规矩,吃水不忘挖井人,GitHub地址送上:
代码语言:javascript复制https://github.com/sylnsfar/qrcode
几年前的库了,star数让我有点羡慕
安装信息
先看看使用情况:
几行代码,简简单单
代码语言:javascript复制import qrcode
# Link for website
input_data = "www.baidu.com"
# Creating an instance of qrcode
qr = qrcode.QRCode(
version=1,
box_size=10,
border=5)
qr.add_data(input_data)
qr.make(fit=True)
img = qr.make_image(fill='black', back_color='white')
img.save('baidu.png')
#方便有人复制
会在执行目录生成一个Png的二维码
使用到的具体参数
在具体的实现过程中,以上代码中的 QRCode 函数需要以下参数:
version:定义了生成二维码的尺寸,它的取值范围是 1 到 40 的整数。该参数的值越大,生成的二维码图像就越大;
box_size:定义了每个像素块的大小;
border:定义了边框的厚度。比如,当它的值是 5,就意味着边框的厚度相当于 5 个小像素块;
add_data 方法用来传入输入文本,在本示例中即为之前文章的超链接。make(fit=True) 函数确保整个二维码都被用到,即使输入数据能用更少的像素块存储也是如此。
最后一步是将其转换为图像文件并存储。make_image 函数可以用来指定图像中的前景色和背景色。在此二维码中分别用了黑色和白色,但也可以根据个人喜好改变颜色。save 函数将图像存储为当前目录下的. png 文件。
- 只需输入一个URL或一个句子,然后在当前目录中获得名为“ qrcode.png”的QR码。
# 2 -v,-l
myqr https://github.com -v 10 -l Q
- QR码的默认大小取决于您输入的单词数和级别,而默认级别(纠错级别)为H(最高)。
- Customize:如果要控制大小和纠错级别,请使用
-v
和-l
参数。-v
表示长度从最小1到最大40。-l
代表纠错级别的是L,M,Q和H之一,其中L是最低级别,H是最高级别。
# 3 -n,-d
myqr https://github.com -n github_qr.jpg -d ... / paths /
- 在默认的输出文件名是“qrcode.png”,而默认输出目录是当前目录。
- 自定义:您可以命名输出文件并确定输出目录。请注意,如果名称与现有文件相同,则旧文件将被删除。
-n
表示输出文件名可以是的格式的一个.jpg
,.png
,.bmp
,.gif
。-d
表示目录。
艺术QR码
代码语言:javascript复制# 1 -p
myqr https://github.com -p github.jpg
- 该
-p
是对QR码与下面的图片是在同一目录下的程序相结合。默认情况下,生成的图片为黑白。
# 2 -c
myqr https://github.com -p github.jpg -c
- 的
-c
是使结果图像着色。
# 3 -con,-bri
myqr https://github.com -p github.jpg [-c] -con 1.5 -bri 1.6
- 该
-con
标志更改图片的对比度 -低数字表示低对比度,高数字表示高对比度。默认值:1.0。 - 该
-bri
标志更改亮度,并且参数值的作用与的相同-con
。默认值:1.0。
GIF动画QR码
与上述“艺术QR码”的唯一区别在于,您应该以.gif
格式输入图像文件。您可以获取黑白或彩色的二维码。请记住,当您使用-n
自定义输出文件名时,输出文件名必须以结尾.gif
。
# after installation
from MyQR import myqr
version, level, qr_name = myqr.run(
words,
version=1,
level='H',
picture=None,
colorized=False,
contrast=1.0,
brightness=1.0,
save_name=None,
save_dir=os.getcwd()
)
代码语言:javascript复制# help(myqr)
Positional parameter
words: str
Optional parameters
version: int, from 1 to 40
level: str, just one of ('L','M','Q','H')
picutre: str, a filename of a image
colorized: bool
constrast: float
brightness: float
save_name: str, the output filename like 'example.png'
save_dir: str, the output directory
导入方式
代码语言:javascript复制#
从 MyQR 安装后,导入 myqr
版本,级别,qr_name = myqr。运行(
单词,
版本= 1,
级别= 'H',
图片= 无,
彩色= 假,
对比度= 1.0,
亮度= 1.0,
save_name = 无,
save_dir = os。getcwd()
)
有关每个参数的详细信息如上所述
代码语言:javascript复制#帮助(myqr)
阵地 参数
字:STR
可选 参数
版本:INT,从 1 至 40
级:STR,只是 一个 的('L' ,'M' ,'Q' ,'H' )
承受力:STR,一个 文件名 的 一个 图像
着色:布尔
constrast:浮子
亮度:浮
save_name:STR,所述 输出 文件名 等 'example.png'
save_dir:STR,所述 输出 目录
提示
- 使用接近正方形的图片而不是矩形的图片。
- 如果图片的尺寸很大,则还应该选择合适的尺寸,
-v
而不要使用默认尺寸。
支持的字符
- 号码:
0~9
- 字母:
a~z, A~Z
- 常见标点符号: ·。:; -* / 〜!@#$%^&`'= <> []()?_ {} | 和(空格)