sponsored links

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

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

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

準備

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

$ pip3 install openpyxl
$ pip3 install Pillow

色值轉換

乾貨主要有:

① 200 多本 Python 電子書(和經典的書籍)應該有

② Python標準庫資料(最全中文版)

③ 專案原始碼(四五十個有趣且可靠的練手專案及原始碼)

④ Python基礎入門、爬蟲、網路開發、大資料分析方面的影片(適合小白學習)

⑤ Python學習路線圖(告別不入流的學習)
私信小編01即可獲取大量Python學習資源

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

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

圖片轉換

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

def img2excel(img_path, excel_path):
    img_src = Image.open(img_path)
    # 圖片寬高
    img_width = img_src.size[0]
    img_height = img_src.size[1]

    str_strlist = img_src.load()
    wb = openpyxl.Workbook()
    wb.save(excel_path)
    wb = openpyxl.load_workbook(excel_path)
    cell_width, cell_height = 1.0, 1.0

    sheet = wb["Sheet"]
    for w in range(img_width):
        for h in range(img_height):
            data = str_strlist[w, h]
            color = str(data).replace("(", "").replace(")", "")
            color = rgb_to_hex(color)
            # 設定填充顏色為 color
            fille = PatternFill("solid", fgColor=color)
            sheet.cell(h + 1, w + 1).fill = fille
    for i in range(1, sheet.max_row + 1):
        sheet.row_dimensions[i].height = cell_height
    for i in range(1, sheet.max_column + 1):
        sheet.column_dimensions[get_column_letter(i)].width = cell_width
    wb.save(excel_path)
    img_src.close()

最後再來個入口函式,就大功告成啦~

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

驚豔時刻

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

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

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

總結

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

對此你還有什麼好玩的想法,可以在評論區和其他小夥伴一起交流哦~

分類: 時尚
時間: 2022-02-18

相關文章

鄧紫棋瘦成異域美人,波浪捲髮太洋氣,連氣質都不一樣了

鄧紫棋瘦成異域美人,波浪捲髮太洋氣,連氣質都不一樣了
[原創宣告:本文由作者編纂,未經授權,不得轉載剽竊!圖片來源網頁,侵刪] 自從許多的泰西樣式捲入到了內陸許多的女孩子,實在不論化裝大概是穿衣,都有了許多混血大概是他鄉風情的感受.鄧紫棋瘦成他鄉佳人,海 ...

燙髮和捲髮棒捲髮,哪種更傷頭髮?

燙髮和捲髮棒捲髮,哪種更傷頭髮?
一個人的顏值,三分長相三分氣質四分發型,一個好的髮型能夠掩飾我們五官上的不足,讓大臉變小臉,圓臉變長臉,所以要想提升顏值,首先就是找到適合自己的髮型. 亞洲人頭髮大多都是直的,雖然好打理,也面臨一個缺 ...

45歲的陳坤顏值不減當年,穿黑西裝還像"公子哥",一點都不見老

45歲的陳坤顏值不減當年,穿黑西裝還像"公子哥",一點都不見老
#時尚在身邊##今天穿什麼# 在服裝的色彩中,黑色一直被公認為"最百搭的色彩",似乎不管是男生還是女生,不管是年紀大還是年紀小,都能將它駕馭的很好,穿搭上帶著優雅與高階感,還顯得很 ...

別人養的孔雀魚4個月都能繁殖了,而我養的6個月了,還這麼小啊?

別人養的孔雀魚4個月都能繁殖了,而我養的6個月了,還這麼小啊?
作者:張乃新 網名:魚蟲子703 字數:2300字 閱讀時間:約8分鐘 要想了解孔雀魚的大小,先要有一定的養殖經驗,這篇文章非常適合養殖經驗在2年以上對孔雀魚有了一個初步認識的發燒友.孔雀魚正常都在4 ...

不養一隻鬆獅,你都不知道它有這麼多“缺點”

不養一隻鬆獅,你都不知道它有這麼多“缺點”
鬆獅犬是我們國家的本土狗狗,因為毛髮旺盛,看起來毛茸茸的,頭部還很像獅子,整體也像熊貓,所以很多人都喜歡養它.但不養不知道,當你養了一隻鬆獅犬後,才發現它有這麼多缺點! 是一隻愛打呼的睡狗 鬆獅犬一天 ...

從猛犬到泰迪,三十年的養狗經歷,這期間我都經歷了什麼

從猛犬到泰迪,三十年的養狗經歷,這期間我都經歷了什麼
大家好,我是犬大將.算下來,我居然已經養了三十年的狗了.以前養過很多猛犬,可三天前,我成了個養泰迪的人,沒錯,就是那個泰日天. 三十年中我從一個少年變成一箇中年大叔,寫這篇文章的目的,是想跟處於各種階 ...

張常寧發扣攔全面發威,江蘇女排3比1上海奪五連勝,提前晉級四強

張常寧發扣攔全面發威,江蘇女排3比1上海奪五連勝,提前晉級四強
北京時間9月21日訊息,第十四屆陝西全運會女排成年組迴圈賽展開第五輪較量,張常寧領銜的江蘇女排經過四局激戰以3比1擊敗上海隊,取得五連勝,是目前唯一不敗的球隊,提前晉級四強.擁有顏妮和丁霞的遼寧女排以 ...

家裡養一隻巨貓,買東西都要XXXXXXXXL

家裡養一隻巨貓,買東西都要XXXXXXXXL
哈哈哈哈哈哈哈哈 來了來了來了來了來了 吸貓一大口,活到九十九 喵君是準備滿滿當當的貓片 01 養殖,說明貓貓已經進入新石器時代. 02 誤闖別人鏡頭的貓貓 sorry,sorry,sorry 03 ...

分享老公月瘦15斤的秘訣,堅持一個月,啤酒肚都不見了,值得一試

分享老公月瘦15斤的秘訣,堅持一個月,啤酒肚都不見了,值得一試
大家好,我是小靜 今天給大家分享老公月瘦15斤的秘訣,老公是個程式設計師,久坐辦公室,經常不運動,是那種典型的肥腸大腦,有很大的啤酒肚,肥胖對身體造成了很多危害,相信很多朋友都有這樣的苦惱,今天這個方 ...

香港的黑社會“敢打敢殺”,為什麼迴歸後都不見了?看完敬佩不已

香港的黑社會“敢打敢殺”,為什麼迴歸後都不見了?看完敬佩不已
你知道嗎?在上個世紀90年代初時,成龍和李連杰等一批香港影視明星,曾經經歷過被威脅和勒索.面對黑幫勢力,即便是在觀眾眼中身為偶像的人氣明星們,也依然只能淪為配合大佬的物件. 再把這種現象放在21世紀之 ...

用心養髮半年,頭髮順了還多了

用心養髮半年,頭髮順了還多了
用心養髮真的會有回報,我平時不會怎麼在意頭髮,直到後來我洗頭髮的時候,就輕輕的搓都能掉一大把頭髮在我手上,我當時就慌了,對著鏡子發現自己的發縫真的寬了好多啊- 我跟著我的小姐妹一起做了些關於養髮的功課 ...

若你今年50歲,建議別留長卷發了,顯老!試試這3種短髮,真減齡

若你今年50歲,建議別留長卷發了,顯老!試試這3種短髮,真減齡
習慣了長髮飄飄的形象,你是否想過換個新發型?尤其是長卷發,風情.嫵媚,是很多女人都愛不釋手的一款髮型.可如果你的年齡大了,厚重的長卷發卻恰恰相反很顯老.不如試試減齡的短髮吧. 比起長髮,短髮的可塑性更 ...

九月逛花市,這些花可以“閉眼入”,都是吉祥好養的“時令花”

九月逛花市,這些花可以“閉眼入”,都是吉祥好養的“時令花”
現在很多人都喜歡在家裡養一些花,用來美化居室,淨化空氣,每年的春秋兩季都是花卉更替的時期,很多秋冬時節開花的花卉,都上市了, 這個時候,也是入手各種花卉的好時候,買花的時候,一定要注意,不要買已經過了 ...

綠蘿都能養死的人,適合養盆球菊,好養活成就感高

綠蘿都能養死的人,適合養盆球菊,好養活成就感高
花花每次在介紹一些簡單好養的植物的時候,總有花友會問,自己連綠蘿都能養死,還有什麼適合養的花嗎? 正好趁著秋天,花花就緊鑼密鼓地帶來了新的花給大家分享,連綠蘿都能養死的人,其實最適合養盆球菊了,要想球 ...

我的植髮經歷

我的植髮經歷
希望我的植髮經歷能對需要植髮的兄弟姐妹有所幫助. 我脫髮是從大二開始的,頭髮開始變得很油,一天不洗就成一綹,每次洗髮盆中都會有很多頭髮,原本很濃密的頭髮幾個月就變得稀薄起來. 人未老發先疏是一件很尷尬 ...

張恩和:沒有解決太行發動機可靠性問題,卻是我國航發最大功臣

張恩和:沒有解決太行發動機可靠性問題,卻是我國航發最大功臣
隨著越來越多國產先進戰機裝備部隊,我國越來越有底氣打敗任何來犯之敵.這種大好局面最重要的依託就是我國透過太行發動機徹底治癒了國產戰鷹的"心臟病"! 那麼,你知道研製出太行發動機背後 ...

女人過了48歲儘量別留長髮、燙捲髮!推薦這5款髮型,太減齡

女人過了48歲儘量別留長髮、燙捲髮!推薦這5款髮型,太減齡
都說髮型是最影響一個人的顏值的,大家可別不以為然.經常看到一些"素人改造"的案例,原本平平無奇的女孩子,換個精緻的髮型.淡淡的妝容.好看的衣服,就像變了個人,氣質上升好幾倍. 髮型 ...