成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

神操作!居然有人用 Python 在 Excel 中畫畫

開發 后端
用 Python 讀取圖片的像素值,然后輸出到 Excel 表格中,最終形成一幅像素畫,也就是電子版的十字繡了。

十字繡大家都知道吧,今天咱們來玩個電子版的十字繡。

用 Python 讀取圖片的像素值,然后輸出到 Excel 表格中,最終形成一幅像素畫,也就是電子版的十字繡了。

準備

既然要讀取圖片,那就需要用到 Pillow 庫,操作 Excel 需要用到 openpyxl 庫,先把這兩個庫安裝好。

  1. $ pip3 install openpyxl 
  2. $ pip3 install Pillow 

色值轉換

從圖片讀取的像素塊色值是 RGB 值,而 openpyxl 向 Excel cell 內填充顏色是十六進制色值,因此咱們先寫一個 RGB 和十六進制色值轉換的一個函數。

  1. def rgb_to_hex(rgb): 
  2.     rgb = rgb.split(','
  3.     color = '' 
  4.     for i in RGB: 
  5.         num = int(i) 
  6.         color += str(hex(num))[-2:].replace('x''0').upper() 
  7.     return color 

圖片轉換

有了色值轉換函數,接下來要做的操作就是逐行讀取圖片的 RGB 色值,之后將 RGB 色值轉換為十六進制色值填充到 Excel 的 cell 中即可。

  1. def img2excel(img_path, excel_path): 
  2.     img_src = Image.open(img_path) 
  3.     # 圖片寬高 
  4.     img_width = img_src.size[0] 
  5.     img_height = img_src.size[1] 
  6.  
  7.     str_strlist = img_src.load() 
  8.     wb = openpyxl.Workbook() 
  9.     wb.save(excel_path) 
  10.     wb = openpyxl.load_workbook(excel_path) 
  11.     cell_width, cell_height = 1.0, 1.0 
  12.  
  13.     sheet = wb["Sheet"
  14.     for w in range(img_width): 
  15.         for h in range(img_height): 
  16.             data = str_strlist[w, h] 
  17.             color = str(data).replace("(""").replace(")"""
  18.             color = rgb_to_hex(color) 
  19.             # 設置填充顏色為 color 
  20.             fille = PatternFill("solid", fgColor=color) 
  21.             sheet.cell(h + 1, w + 1).fill = fille 
  22.     for i in range(1, sheet.max_row + 1): 
  23.         sheet.row_dimensions[i].height = cell_height 
  24.     for i in range(1, sheet.max_column + 1): 
  25.         sheet.column_dimensions[get_column_letter(i)].width = cell_width 
  26.     wb.save(excel_path) 
  27.     img_src.close() 

最后再來個入口函數,就大功告成啦~

  1. if __name__ == '__main__'
  2.     img_path = '/Users/xyz/Documents/tmp/03.png' 
  3.     excel_path = '/Users/xyz/Documents/tmp/3.xlsx' 
  4.     img2excel(img_path, excel_path) 

驚艷時刻

激動的心,顫抖的手,來看下最終效果咋樣。

是不是覺得有那么一絲絲韻味呢...

總結

 

今天派森醬帶大家一起實現了 Excel 像素畫,小伙伴們可以發揮自己的想象,比如把女神的頭像藏進 Excel 中然后發她,你猜女神會不會被驚艷到呢。

 

責任編輯:武曉燕 來源: Python技術
相關推薦

2021-05-25 10:05:39

Python模擬導彈代碼

2020-12-17 10:23:41

死鎖LinuxLockdep

2025-02-28 09:30:00

?DeepSeekDeepGEMMAI

2022-10-19 07:35:28

2015-07-30 09:20:26

微軟Android Lau

2023-04-10 07:26:28

UseStateUseReducer

2020-05-28 11:00:40

Flutter代碼框架

2019-02-12 11:07:49

2021-07-27 05:49:59

MySQL數據庫中間件

2020-04-09 09:52:42

Python數據技術

2012-05-10 10:04:00

IE9IE瀏覽器

2024-03-18 09:24:12

RocketMQ消息模型分布式

2021-08-03 22:26:46

Go函數分頁

2023-05-25 10:03:40

2023-03-09 14:16:00

AIChatGPT

2021-11-12 14:17:36

AI 6G人工智能

2019-08-09 15:07:33

TomcatJaegerSpringBoot

2022-08-25 17:47:21

PythonExcel

2023-06-05 12:41:52

研究AI

2023-11-06 06:52:51

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产精品免费观看 | 亚洲区一区二 | 在线免费av电影 | 国产亚洲一区二区三区在线观看 | 男人久久天堂 | 一区二区亚洲 | 欧美精品久久久 | 亚洲免费影院 | 欧美日韩视频网站 | 日韩在线观看一区 | 久久精品网 | 亚洲毛片在线 | 91人人视频在线观看 | 亚洲人成一区二区三区性色 | 日韩精品 电影一区 亚洲 | 欧美日韩视频在线 | 男人天堂手机在线视频 | 99久久99 | 亚洲精品欧美一区二区三区 | 一级黄色毛片免费 | 久久精品亚洲欧美日韩精品中文字幕 | 欧美黄色网 | 久久精品国产免费高清 | 亚洲日日操 | 日操操 | 午夜三级视频 | 精品视频一二区 | 久久久久黑人 | 自拍视频一区二区三区 | 欧美一区二区三区四区视频 | 成年免费在线观看 | 国产 日韩 欧美 制服 另类 | 特级特黄特色的免费大片 | 91麻豆精品国产91久久久久久 | 国产在线播放av | 国产午夜一级 | 午夜视频在线视频 | 久久精品国产一区二区电影 | 粉色午夜视频 | 日韩精品999 | 日韩一区二区三区视频 |