Python-Qrcode介绍

2021-04-14 14:00:06 浏览数 (1)

最近关注的这些公众号都在说这个五六行代码生成二维码的库,就是这个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码。
代码语言:javascript复制
# 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是最高级别。
代码语言:javascript复制
# 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码与下面的图片是在同一目录下的程序相结合。默认情况下,生成的图片为黑白。
代码语言:javascript复制
# 2 -c 
myqr https://github.com -p github.jpg -c
  • -c是使结果图像着色。
代码语言:javascript复制
# 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

代码语言:javascript复制
# 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
  • 常见标点符号: ·。:; -* / 〜!@#$%^&`'= <> []()?_ {} | 和(空格)

0 人点赞