当前位置: 首页 > news >正文

东莞制作企业网站公司网站项目宣传片

东莞制作企业网站公司,网站项目宣传片,专做水果的社区网站,律师手机网站模板最近看蛮多朋友在玩#xff0c;要么只能画比较简单的#xff0c;要么非常花时间。想了下本质上就是把excel对应的单元格涂色#xff0c;如果能知道哪些格子要上什么颜色#xff0c;用编程来实现图片转为excel十字绘应该是很方便的。 图片的每一个像素点都可以数值化#x…最近看蛮多朋友在玩要么只能画比较简单的要么非常花时间。想了下本质上就是把excel对应的单元格涂色如果能知道哪些格子要上什么颜色用编程来实现图片转为excel十字绘应该是很方便的。 图片的每一个像素点都可以数值化那么将构成图片的每一个像素点填充到excel的单元格中去然后合理调整单元格长宽比便可以拼成一副画。反过来想用一张单元格足够小的excel表格将图片蒙上一层犹如用 一张网去切割这张图片图片被切割成一小块一小块 如果网格足够细每一小块里面的颜色几乎只有一种这样就可以用一个三元组RGB来刻画 这样一张图片就可以由一个很大的矩阵来刻画 矩阵中的每一个元素都是一个 RGB三元组。不管从图片到excel还是从excel到图片我们都可以构建一个一一映射关系我们便可以依循这个理论在excel作画。 网上搜索了下用python就可以实现主要是以下两个模块 Pillow(PILPython Imaging Library)强大的图形处理库openpyxl用于操作excel的模板之前也用到过 代码主要来自程序员如何 10 分钟用 Python 画出蒙娜丽莎 - 知乎 直接运行会有报错需要稍微修改 获取列信息新版本修改了属性名用原文的会报错 # 修正前 column col[0].column # 修正後 column col[0].column_letter 调整列宽部分原文的1会让图片变得奇扁无比测试设为8大小会比较合适 worksheet.column_dimensions[_w].width 8 调整单元格大小相对来说400更清晰 MAX_WIDTH 400 MAX_HEIGHT 400 修改后代码如下 #!/usr/bin/env python # -*- coding:utf-8 -*- #Time : 2023/09/10 #Author: Hehuyi_In #File : picture_to_excel.pyfrom PIL import Image import openpyxl from openpyxl.styles import fills import osMAX_WIDTH 400 MAX_HEIGHT 400# excel的单元格默认是长方形修改为正方形才不会使图片变形 # 调整excel每个单元格大小避免图片过大excel无法打开 # 过小电子画会过于模糊太大excel可能无法打开 def resize(img):w, h img.sizeif w MAX_WIDTH:h MAX_WIDTH / w * hw MAX_WIDTHif h MAX_HEIGHT:w MAX_HEIGHT / h * wh MAX_HEIGHTreturn img.resize((int(w), int(h)), Image.ANTIALIAS)# 整型转16进制 # getpixel()获取的颜色值是rgb十进制的但fills.PatternFill 里的fgColor参数接收到的颜色值是十六进制的值因此需要转换 def int_to_16(num):num1 hex(num).replace(0x, )# 位数只有一位时在前面补零num2 num1 if len(num1) 1 else 0 num1return num2# 绘图函数 def draw_jpg(img_path):# 打开图片img_pic resize(Image.open(img_path))img_name os.path.basename(img_path)# 输出的excel名若已存在则删除out_file img_name.split(.)[0] .xlsxif os.path.exists(out_file):os.remove(out_file)# 新建一个excel文件workbook openpyxl.Workbook()# 激活一个工作表sheetworksheet workbook.activewidth, height img_pic.size# 循环处理图片中的每个像素for w in range(1, width 1):for h in range(1, height 1):# getpixel函数用于获取像素色彩值入参为像素坐标if img_pic.mode RGB:r, g, b img_pic.getpixel((w - 1, h - 1))elif img_pic.mode RGBA:r, g, b, a img_pic.getpixel((w - 1, h - 1))# 将rgb值转换为16进制hex_rgb int_to_16(r) int_to_16(g) int_to_16(b)# 定位每个单元格cell worksheet.cell(columnw, rowh)# 第一行if h 1:_w cell.column_letter_h cell.col_idx# 调整列宽worksheet.column_dimensions[_w].width 8# 调整行高worksheet.row_dimensions[h].height 45# 填充颜色fill_type是填充类型fgColor是填充的颜色cell.fill fills.PatternFill(fill_typesolid, fgColorhex_rgb)print(saving...)workbook.save(out_file)print(success!)if __name__ __main__:draw_jpg(lyx.jpg) 效果图以我这个头像为例excel画出来的图太大了这里截了一部分 这要是手工画一张不得画几个月...但通过程序可以直接秒出牛哇~ 参考 https://zhuanlan.zhihu.com/p/95720761 https://blog.51cto.com/u_15255081/6164226 https://blog.csdn.net/weixin_43790276/article/details/108478270 https://qiita.com/gorimacho/items/63707223e692f7401988
http://www.dnsts.com.cn/news/104297.html

相关文章:

  • 网站建设服务方案ppt模板网站 在线支付功能
  • 用什么软件搭建网站源码襄阳市建设厅官方网站
  • 最常见企业网站有哪些企业网站特点和优势
  • 自己网站制作自适应网站建设选哪家
  • 长沙律师网站建设企业简介ppt范文大全
  • 北斗手表官方网站广州城市建设档案馆网站
  • 建设网站怎样做wordpress 水印插件
  • 呼和浩特网站制作wordpress吧
  • 做网站的软件去哪里买微信app
  • html5好的网站模板南宁网站优化
  • 网站空间域名免费wordpress做一个说说页面
  • 番禺建设网站报价素材网免费素材
  • 建团购网站长春建站公司模板
  • 营销型网站四大功能做公司+网站建设
  • 网站风格有哪些类型个人网站 备案 广告
  • 做阀门的网站河北农业建设信息网站
  • 免费做外贸的网站平台做网站一般几个步骤
  • 佛山做网站3000嘉兴制作企业网站
  • 做网站好的游戏推广招聘
  • 网站设计的实例怎么找做网站的外包公司
  • 网站设计模块网站开发细节
  • 正定网站制作手机网页前端开发
  • 省级建设网站电子公司logo设计
  • 网站建设 网站专题 网络推广如何制作纯静态网站
  • 建设积分兑换商城网站做视频网站的备案要求
  • 代挂网站维护广州网站建设说说外链的建设
  • 设计网站官网怎么做公众号网站
  • 网站后台管理系统的重要技术指标网络工程师和网站开发员
  • 品品牌牌建建设设网站顺义做网站的公司
  • 网站制作方案策划书免费软件定位对方手机位置