注:本文轉載自公眾號:TEDxPY。
作者是一個非常謙虛有趣的Python大牛!
大家感興趣的可以關注一波他的公眾號!
昨天,用Python代碼將微信好友頭像組字后,在stormzhang張哥星球發了個分享,沒想到這么多球友感興趣,不僅喜獲兩位老哥贊賞,還被張哥點贊了,着實開心~
為了方便各位把玩這個圖片組字,今兒我把Python代碼轉成exe可執行文件了。如果你不想看代碼轉換的細節,直接跳到程序運行吧~
思路
說來慚愧,今天在同事Mac上測試exe,我才知道Mac是不支持exe格式的。所以這里暫時只涉及Window環境下將py文件轉為exe文件格式的實現,通過pyinstalle來進行轉換。
之前的代碼,“讀取微信好友圖片”和“圖片拼接組字”兩個過程寫在了同一份代碼文件中。為了將功能獨立實現,將代碼轉化為對應的兩個exe文件:一個是用來獲取微信好友頭像圖片保存到本地;另一個用來將圖片拼接成用戶自定義的漢字。
py轉exe
首先是安裝pyinstaller和pywin32,后者下載時需要選擇對應的電腦系統和python版本。
生成的exe文件如果想變換圖標,需要提前准備ico圖標文件,最好對圖標圖片的背景進行透明處理。
通過執行以下命令生成對應的exe文件:
pyinstaller -F -i 圖標文件路徑 py文件路徑
生成的exe文件要與代碼配置文件放在同一文件夾中,否則可能出現閃退情況。
接下來是程序運行部分,如果你只關心如何運行程序,從這兒開始吧~
獲取頭像圖片.exe
雙擊運行該文件,會彈出微信二維碼:
掃碼后會在當前文件夾生成你的微信頭像,同時新生成同名的文件夾,用來存放讀取到的好友頭像圖片,窗口會顯示好友數目和進度:
運行完畢,你的微信好友頭像圖片會被保存在與你昵稱同名的文件夾中。
單點4圖.exe
之前我們是用4個頭像替換漢字點陣中的一個點,即單點4圖(是不是有點過於直白?),雙擊運行:
會首先要你輸入漢字,這里我們輸個雞湯:“種一棵樹最好的時間是十年前,其次是現在。”注意這里要求是漢字和中文標點符號,英文和數字暫時不支持。輸入完成回車,會要你輸入素材圖片文件夾名稱:
我們用之前生成的頭像圖片文件夾,所以這里輸入TED,接下來就會生成一個以_out結尾的文件夾,隨着程序代碼的執行,最終生成的漢字圖片會一個個出現其中:
代碼運行完,所有的字會按順序命名排列在文件夾中:
打開其中任意一個字,每個點是由四個頭像圖片組成的:
單點單圖.exe
顧名思義,即每個點處用一張大些的頭像來代替,按上述流程運行單點單圖.exe,我們拿最終生成的“年”字來看:
確實是單點單圖了,哈哈~
注意
以上便是基本操作了,記得再次生成新的效果圖之前,要將已生成圖片備份,否則會被覆蓋。
同時,微信好友頭像圖片文件夾生成一次就足夠,反復運行也只是重復下載好友圖片。
以及,如果你想用其他圖片來組字,完全可以將圖片文件夾復制過來,直接運行單點4圖.exe或者單點單圖.exe進行組字。
效果圖
可以輸入九個字,將生成的效果圖組成九宮格,例如:
以及剛提到的用照片或圖片組字,以小豬佩奇做個展示吧~
回顧
以上便是我設想中的圖片組字了,當然還可以繼續優化:比如增強字庫,用其他字體來展現;再比如豐富輸入內容,允許字母數字;還有背景的設置與優化等,這些留作以后調整。
掌握了代碼向exe的轉換,意味着代碼實用性的提升,可以通過運行exe來自動實現系列繁瑣任務,這也是之后我會着重挖掘的點。
程序下載
欲直接下載代碼文件,關注我們的公眾號哦!查看歷史消息即可!