python制作二维码

涉及库:Image\qrcode\MyQR

pip install qrcode
pip install image
pip install MyQR

入门使用:

import qrcode
import Image
qr_image = qrcode.make("www.baidu.com")
qr_image.save("qrcode_baidu.png")

此时,该python文件下会差生一个名为qrcode_baidu.png的图片

python制作二维码_第1张图片

扫一下,就能跳转到百度首页。

对二维码的设置:

qr = qrcode.QRCode(
    version=3,
    error_correction=qrcode.constants.ERROR_CORRECT_Q,
    box_size=4,
    border=4    # 二维码留白
)

可以对二维码进行版本设置,总共20个等级,等级对应的数据块为:(v-1)*4+21

并且还有error_correction属性对二维码的容错率进行设置

共有四个等级:L:7% M:15% Q:25% H:30%后面的数字就是其的容错率

box_size二维码盒子的大小

border二维码与图片边边距的数据块大小

二维码数据填入:

qr.add_data("www.51bbw.cn/")
qr.make(fit=False)

如果数据量大于版本容得二维码容量,就会报错,应该将version适当升高

设置二维码背景颜色,数据块的颜色:

img = qr.make_image(fill_color="red",back_color="yellow")

生成图片:

img.save("qrcode_color.png")

完整代码:


import qrcode
import image

# print (qrcode.__file__)
# version:v  squares:(v-1)*4+21
# ((3-1)*4+21+8)*4=148
# error_correction: L:7 M:15 Q:25 H:30
qr = qrcode.QRCode(
    version=3,
    error_correction=qrcode.constants.ERROR_CORRECT_Q,
    box_size=4,
    border=4    # 二维码留白
)
qr.add_data("www.51bbw.cn/")
qr.make(fit=False)  #编译数据,如果数据量过大报错
img = qr.make_image(fill_color="red",back_color="yellow")
img.save("qrcode_color.png")

生成二维码:

python制作二维码_第2张图片  这是一个表白网站,献给各位单身码友。。。。

二维码中心填充图片:

完整代码:

import qrcode
from PIL import Image
qr = qrcode.QRCode(
    version=3,
    error_correction=qrcode.constants.ERROR_CORRECT_H,
    box_size=10,
    border=3
)
qr.add_data("https://www.huya.com/buqiuren")
qr.make(fit=True)
qrcode_img = qr.make_image(fill_color="yellow",back_color="red")
qrcode_img = qrcode_img.convert("RGBA")

logo = Image.open("buqiu1.gif")
qrcode_img_w,qrcode_img_h = qrcode_img.size

factor = 4
size_w = int(qrcode_img_w/factor)
size_h = int(qrcode_img_h/factor)

logo_w,logo_h=logo.size
if logo_w>size_w:
    logo_w=size_w
if logo_h>size_h:
    logo_h=size_h
logo=logo.resize((logo_w,logo_h),Image.ANTIALIAS)

w=int((qrcode_img_w-logo_w)/2)
h=int((qrcode_img_h-logo_h)/2)
qrcode_img.paste(logo,(w,h),None)
qrcode_img.save("buqiua.gif")

二维码设置背景图片(动态图):

完整代码:

import qrcode
from PIL import Image
import os
from MyQR import myqr

words="https://www.huya.com/buqiuren"
picture="buqiu1.gif"
output_name="buqiua.gif"

try:
    version,level,qr_name=myqr.run(
        words,
        version=1,
        level='H',
        picture=picture,
        colorized=True,
        contrast=1.0,
        brightness=2.0,
        save_name=output_name,
        save_dir=os.getcwd()
    )
except:
    raise

生成二维码:

python制作二维码_第3张图片这里可能无法显示成动态的,自己试试就行。

跳转到虎牙直播不求人的直播间-刺激战场大数据排名最具影响力主播

你可能感兴趣的:(Python)