• 二维码(带有图片)的生成


    二维码(带有图片)的生成 - javaobject - 博客园 https://www.cnblogs.com/a8457013/p/7239722.html

    import qrcode
    
    qr = qrcode.QRCode(
        version=1,
        error_correction=qrcode.constants.ERROR_CORRECT_L,
        box_size=10,
        border=4,
    )
    str='https://www.toutiao.com/c/user/4073823366/'
    qr.add_data(str)
    qr.make(fit=True)
    img = qr.make_image()
    img.save('123.png')
    

      

    from PIL import Image, ImageDraw, ImageFont
    import qrcode
    url_code='https://www.toutiao.com/c/user/6685910660/'
    url_code='https://www.toutiao.com/c/user/6631414881/'
    cav_img_name = 'favicon.png'
    qr = qrcode.QRCode(version=5, error_correction=qrcode.constants.ERROR_CORRECT_H, box_size=50, border=3)
    qr.add_data(url_code)
    qr.make(fit=True)
    img = qr.make_image()
    img = img.convert("RGBA")
    # 二维码中心logo
    logo='favicon.png'
    logo='1.png'
    mid_icon = Image.open(logo)
    logo_w,logo_h=mid_icon.size
    img_w, img_h = img.size
    factor =3
    size_w = int(img_w / factor)
    size_h = int(img_h / factor)
    icon_w, icon_h = mid_icon.size
    if icon_w > size_w:
        icon_w = size_w
    if icon_h > size_h:
        icon_h = size_h
    mid_icon = mid_icon.resize((icon_w*5, icon_h*5), Image.ANTIALIAS)
    w = int((img_w - icon_w) / 2)
    h = int((img_h - icon_h) / 2)
    mid_icon = mid_icon.convert("RGBA")
    img.paste(mid_icon, (w, h), mid_icon)
    img.save( 'createlogo.png')
    

      

    import sys
    import os
    
    curPath = os.path.abspath(os.path.dirname(__file__))
    rootPath = os.path.split(curPath)[0]
    sys.path.append(rootPath)
    
    filepath = 'toutiao_dl_img'
    requested_file_list = []
    pathDir = os.listdir(filepath)
    for allDir in pathDir:
        child = os.path.join('%s%s' % (filepath, allDir))
        requested_file = child.split('img')[-1].split('.')[0]
        requested_file_list.append(requested_file)
    
    from PIL import Image, ImageDraw, ImageFont
    import qrcode
    import time
    
    for i in requested_file_list:
        url_code = 'https://www.toutiao.com/c/user/UID/'.replace('UID',i)
    
        # border  白边
        qr_content_ize, qr_border = 50, 2
        qr_boxsize = qr_content_ize + 2 * qr_border
        qr = qrcode.QRCode(version=5, error_correction=qrcode.constants.ERROR_CORRECT_H, box_size=qr_boxsize,
                           border=qr_border)
        qr.add_data(url_code)
        qr.make(fit=True)
        img = qr.make_image()
        img = img.convert("RGBA")
        img_w, img_h = img.size
        # 二维码中心logo   头条头像  120*120
        logo = '{}{}{}{}'.format('toutiao_dl_img/','toutiao_uid_head_img', i, '.png')
        mid_icon = Image.open(logo)
        mid_icon_w, mid_icon_h = mid_icon.size
        mid_factor = 5
        mid_icon_w, mid_icon_h = mid_icon_w * mid_factor, mid_icon_h * mid_factor
        mid_icon = mid_icon.resize((mid_icon_w, mid_icon_h), Image.ANTIALIAS)
        mid_icon = mid_icon.convert("RGBA")
        # x,y 左顶点的坐标
        top_left_x, top_left_y = int(img_w / 2 - mid_icon_w / 2), int(img_h / 2 - mid_icon_h / 2)
        img.paste(mid_icon, (top_left_x, top_left_y), mid_icon)
    
        localtime_ = time.strftime("%y%m%d%H%M%S", time.localtime())
        s = '{}{}{}{}{}{}'.format('toutiao_qr_head_img/', 'toutiao_qr_head_img', localtime_, '_', i, '.png')
        img.save(s)
    

      

    调整二维码,大小

    import sys
    import os
    
    curPath = os.path.abspath(os.path.dirname(__file__))
    rootPath = os.path.split(curPath)[0]
    sys.path.append(rootPath)
    
    filepath = 'toutiao_dl_img'
    requested_file_list = []
    pathDir = os.listdir(filepath)
    for allDir in pathDir:
        child = os.path.join('%s%s' % (filepath, allDir))
        requested_file = child.split('img')[-1].split('.')[0]
        requested_file_list.append(requested_file)
    
    from PIL import Image, ImageDraw, ImageFont
    import qrcode
    import time
    
    for i in requested_file_list:
        url_code = 'https://www.toutiao.com/c/user/UID/'.replace('UID', i)
    
        # border  白边
        # 2018年3月26日 15:37:46
        qr_content_ize, qr_border = 50, 2
        # qr_content_ize, qr_border = 25, 1
        qr_boxsize = qr_content_ize + 2 * qr_border
        qr = qrcode.QRCode(version=5, error_correction=qrcode.constants.ERROR_CORRECT_H, box_size=qr_boxsize,
                           border=qr_border)
        qr.add_data(url_code)
        qr.make(fit=True)
        img = qr.make_image()
        img = img.convert("RGBA")
        img_w, img_h = img.size
        # 二维码中心logo   头条头像  120*120
        logo = '{}{}{}{}'.format('toutiao_dl_img/', 'toutiao_uid_head_img', i, '.png')
        mid_icon = Image.open(logo)
        mid_icon_w, mid_icon_h = mid_icon.size
        mid_factor = 5
        mid_icon_w, mid_icon_h = mid_icon_w * mid_factor, mid_icon_h * mid_factor
        mid_icon = mid_icon.resize((mid_icon_w, mid_icon_h), Image.ANTIALIAS)
        mid_icon = mid_icon.convert("RGBA")
        # x,y 左顶点的坐标
        top_left_x, top_left_y = int(img_w / 2 - mid_icon_w / 2), int(img_h / 2 - mid_icon_h / 2)
        img.paste(mid_icon, (top_left_x, top_left_y), mid_icon)
    
        localtime_ = time.strftime("%y%m%d%H%M%S", time.localtime())
        s = '{}{}{}{}{}{}'.format('toutiao_qr_head_img/', 'toutiao_qr_head_img', localtime_, '_', i, '.png')
    
        # 2018年3月26日 15:40:56
        img_factor = 5
        img_w, img_h = int(img_w / img_factor), int(img_h / img_factor)
    
        img = img.resize((img_w, img_h), Image.ANTIALIAS)
    
        img.save(s)
    
        d = 9
    

      

     图片缩放

    维持数据库文件名不变,覆盖文件

    import sys
    import os
    
    from PIL import Image, ImageDraw, ImageFont
    
    curPath = os.path.abspath(os.path.dirname(__file__))
    rootPath = os.path.split(curPath)[0]
    sys.path.append(rootPath)
    
    # filepath = 'toutiao_dl_img'
    filepath = 'toutiao_qr_head_img0315-文件-大图 - resize'
    requested_file_list = []
    pathDir = os.listdir(filepath)
    for allDir in pathDir:
        child = os.path.join('%s%s' % (filepath, allDir))
    
        f = '{}/{}'.format(filepath, allDir)
        img = Image.open(f)
        img_w, img_h = img.size
        img_factor = 5
        img_w, img_h = int(img_w / img_factor), int(img_h / img_factor)
    
        img = img.resize((img_w, img_h), Image.ANTIALIAS)
    
        img.save(f)
    

      

  • 相关阅读:
    Java中字符串中子串的查找共有四种方法(indexof())
    idea常用快捷键
    用hive或mr清洗app数据
    使用kafka作为生产者生产数据到hdfs(单节点)
    使用kafka作为生产者生产数据到hdfs
    c++ map的使用
    c++ set集合的使用
    c++ 木块问题
    c++ 大理石
    c 蛇形数字
  • 原文地址:https://www.cnblogs.com/rsapaper/p/8600494.html
Copyright © 2020-2023  润新知