• Python 将小姐姐画在Excel上


    准备:

      1. 一张小姐姐的照片

      2. python 环境

      3.需要导入的库:PIL,xlsxwriter

    原理:

     1. 读取小姐姐的图片 转化为rgb 格式

     2. 将颜色填充到对应的表格上

    图片:

    代码很简单如下:

      

    from PIL import Image
    import xlsxwriter
    
    
    # 颜色转换函数
    def color(value):
        digit = list(map(str, range(10))) + list("ABCDEF")
        if isinstance(value, tuple):
            string = '#'
            for i in value:
                a1 = i // 16
                a2 = i % 16
                string += digit[a1] + digit[a2]
            return string
        elif isinstance(value, str):
            a1 = digit.index(value[1]) * 16 + digit.index(value[2])
            a2 = digit.index(value[3]) * 16 + digit.index(value[4])
            a3 = digit.index(value[5]) * 16 + digit.index(value[6])
            return (a1, a2, a3)
    # 路径
    path = r'd:girl.jpg'
    img = Image.open(path)
    #img = img.resize((189, 152))
    # 转为rgb
    imgL = img.convert("P").convert("RGB")
    
    pix = imgL.load()
    
    w, h = imgL.size
    workbook = xlsxwriter.Workbook('picture.xlsx')  # 新建excel表
    
    worksheet = workbook.add_worksheet('sheet1')  # 新建sheet(sheet的名称为"sheet1")
    
    for j in range(w):
        for i in range(h):
            color_cell = color(pix[j, i])
            # 添加样式
            sty = workbook.add_format({'bg_color': '{}'.format(color_cell) })
            # 写入
            worksheet.write(i, j, '', sty)
            # 设置行高
            worksheet.set_row(i,1)
    # 设置列宽
    worksheet.set_column(0,w-1,0.4)
    
    workbook.close()

    为了使效果更好,可以更改行高,行宽 或者缩放 。

    本次效果如下:

     

  • 相关阅读:
    【转载】使用铁哥SmartFlash快速开发方案:66行代码搞定抽奖程序!
    WPF 数据绑定方法分类
    jquerywebsocket
    [转载]as3中单例模式如何设计
    .字符的匹配识别
    paip.提升用户体验搜索功能设计
    paip.提升安全性登录密码出错次数检测
    paip.html 及css调试工具debugbar
    paip.项目开发效率提升之思索
    paip.c#图片裁剪
  • 原文地址:https://www.cnblogs.com/x0216u/p/10489713.html
Copyright © 2020-2023  润新知