美文网首页
批量生成不同颜色的二维码

批量生成不同颜色的二维码

作者: 巴鶴 | 来源:发表于2021-02-17 08:58 被阅读0次

    引言

    如果想把自己博客通过有个性的方式分享出去,是件有意义的事情,比如通过二维码方式,如果有多个博客,使用同一种颜色的二维码显得没有个性,黑色二维码太常见,如果有不同颜色的二维码展示很漂亮。本实列教你Python中使用第三方模块qrcode可以批量生成不同颜色的二维码。

    思路分析

    如何生成随机颜色,以及如何生成二维码??

    • 生成随机颜色主要是从已定义好的一个颜色列表中随机获取一个颜色,使用random.randint()方法实现;
    • 生成二维码主要使用qrcode模块中的make_image()方法实现,该方法有两个参数,分别用来指定填充二维码的颜色和二维码的背景色;
    • 在使用qrcode模块生成二维码时,首先需要使用QRCode类设置二维码相关的信息,比如大小、边界距离、错误纠正能力等;
    • 安装qrcode第三方库


      安装qrcode.png
    • 安装pandas第三方库


      安装pandas.png

    代码参考

    # -*- coding: utf-8 -*-
    """
    @Time : 2021/2/16 10:39
    @Auth : Yvon~早安阳光
    @File :shezerweima
    """
    import qrcode,random,os
    import pandas as pd
    path = input('请输入保存的路径:')
    da = pd.DataFrame(pd.read_excel('早安阳光.xlsx')) #读取Excel
    #实列化二维码生成类
    er = qrcode.QRCode(
        version = 3,   # 控制二维码大小,范围为1――40
        #设置错误纠正能力
        error_correction = qrcode.constants.ERROR_CORRECT_L,
        box_size = 10,  #控制每个包含的像素数
        border = 4, #控制二维码与图片边界的距离
    )
    
    # 随机颜色
    def Erweicolour():
        # 定义颜色列表(红、绿、蓝、紫、黑)
        list = ['red', 'green', 'blue', 'purple', 'black']
        index = random.randint(0, len(list) - 1)  # 随机生成索引
        return list[index]  # 按索引返回颜色
    
         i = 1  # 循环标识
    while i < len(da.values):  # 遍历数据
        er.clear()  # 清空二维码设置的数据
        er.add_data(data=da.values[i][1])  # 设置二维码数据
        er.make(fit=True)  # 启用二维码颜色设置
        # 以随机生成的颜色生成二维码
        img = er.make_image(fill_color=Erweicolour(), back_color="white")
        # 保存二维码图片
        img.save(os.path.join(path, da.values[i][0] + '.png'))
        i += 2  # 循环标识加1
    print('生成完成,请查看!')
    os.startfile(path)  # 打开路径进行查看
    
    二维码生成成功.png

    相关文章

      网友评论

          本文标题:批量生成不同颜色的二维码

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