美文网首页python
「笔记」Python生成二维码

「笔记」Python生成二维码

作者: 高正杰 | 来源:发表于2018-01-15 10:18 被阅读65次

    本文的实验环境是 Python 3.6.1 |Anaconda 4.4.0 (64-bit),Win10

    普通二维码

    from PIL import Image
    import qrcode
    
    qr = qrcode.QRCode(
        version=2,  # 控制二维码的尺寸,此处为 25*25
        error_correction=qrcode.constants.ERROR_CORRECT_H,  # 控制二维码的错误纠正功能,此处为大约30%或更少的错误能被纠正
        box_size=10,  # 控制二维码中每个小格子包含的像素数
        border=1)  # 控制边框(二维码与图片边界的距离)
    
    qr.add_data("https://www.jianshu.com/u/02877dbc2662")  # 设置二维码中包含的数据
    qr.make(fit=True)  # 二维码大小自适应
    
    img = qr.make_image()
    img.save("qrcode.png")
    

    中间含图片的二维码

    from PIL import Image
    import qrcode
    
    qr = qrcode.QRCode(
        version=2,  # 控制二维码的尺寸,此处为 25*25
        error_correction=qrcode.constants.ERROR_CORRECT_H,  # 控制二维码的错误纠正功能,此处为大约30%或更少的错误能被纠正
        box_size=10,  # 控制二维码中每个小格子包含的像素数
        border=1)  # 控制边框(二维码与图片边界的距离)
    
    qr.add_data("https://www.jianshu.com/u/02877dbc2662")  # 设置二维码中包含的数据
    qr.make(fit=True)  # 二维码大小自适应
    
    img = qr.make_image()
    img = img.convert("RGBA")
    
    icon = Image.open("748.png") #用于填充的图片 
    
    img_w, img_h = img.size
    factor = 4
    size_w = int(img_w / factor)
    size_h = int(img_h / factor)
    
    icon_w, icon_h = icon.size
    if icon_w > size_w:
        icon_w = size_w
    if icon_h > size_h:
        icon_h = size_h
    icon = icon.resize((icon_w, icon_h), Image.ANTIALIAS)
    
    w = int((img_w - icon_w) / 2)
    h = int((img_h - icon_h) / 2)
    img.paste(icon, (w, h), icon)
    
    img.save("filled_qrcode.png")
    

    相关文章

      网友评论

        本文标题:「笔记」Python生成二维码

        本文链接:https://www.haomeiwen.com/subject/dhsroxtx.html