zoukankan      html  css  js  c++  java
  • Python将文本生成二维码

    #coding:utf-8
    '''
    Python生成二维码 v1.0
    主要将文本生成二维码图片
     
    测试一:将文本生成白底黑字的二维码图片
    测试二:将文本生成带logo的二维码图片
     
    '''
     
    __author__ = 'Xue'
     
    import qrcode
    from PIL import Image
    import os
     
    #生成二维码图片
    def make_qr(str,save):
        qr=qrcode.QRCode(
            version=4,  #生成二维码尺寸的大小 1-40  1:21*21(21+(n-1)*4)
            error_correction=qrcode.constants.ERROR_CORRECT_M, #L:7% M:15% Q:25% H:30%
            box_size=10, #每个格子的像素大小
            border=2, #边框的格子宽度大小
        )
        qr.add_data(str)
        qr.make(fit=True)
     
        img=qr.make_image()
        img.save(save)
     
     
    #生成带logo的二维码图片
    def make_logo_qr(str,logo,save):
        #参数配置
        qr=qrcode.QRCode(
            version=4,
            error_correction=qrcode.constants.ERROR_CORRECT_Q,
            box_size=8,
            border=2
        )
        #添加转换内容
        qr.add_data(str)
        #
        qr.make(fit=True)
        #生成二维码
        img=qr.make_image()
        #
        img=img.convert("RGBA")
     
        #添加logo
        if logo and os.path.exists(logo):
            icon=Image.open(logo)
            #获取二维码图片的大小
            img_w,img_h=img.size
     
            factor=4
            size_w=int(img_w/factor)
            size_h=int(img_h/factor)
     
            #logo图片的大小不能超过二维码图片的1/4
            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)
            #详见:http://pillow.readthedocs.org/handbook/tutorial.html
     
            #计算logo在二维码图中的位置
            w=int((img_w-icon_w)/2)
            h=int((img_h-icon_h)/2)
            icon=icon.convert("RGBA")
            img.paste(icon,(w,h),icon)
            #详见:http://pillow.readthedocs.org/reference/Image.html#PIL.Image.Image.paste
     
        #保存处理后图片
        img.save(save)
     
     
    if __name__=='__main__':
        save_path='theqrcode.png' #生成后的保存文件
        logo='logo.jpg'  #logo图片
     
        str=raw_input('请输入要生成二维码的文本内容:')
     
        #make_qr(str)
     
        make_logo_qr(str,logo,save_path)
  • 相关阅读:
    iOS 绕过https证书验证 请求数据
    RN import ** from ** 用法
    蓝牙开发笔记
    golang笔记
    python3 md5
    python3 zip压缩
    nginx应用
    zipimport.ZipImportError: can't find module 'encodings'
    python3 模块安装列表
    cmd笔记
  • 原文地址:https://www.cnblogs.com/babycool/p/4734819.html
Copyright © 2011-2022 走看看