這次嘗試用Python寫一個PNG轉ICO的小工具,雖然是很基礎的應用,網路上也有很多線上轉檔工具,但有時真的很不想把照片上傳下載,也覺得很麻煩,如果可以在電腦中快速選取生成,那豈不美哉?.ico檔案可以做一些有趣的應用,像是網站小小的LOGO展示,也能應用在電腦的資料夾圖示呈現,自定義資料夾不僅有個人特色,有時也能幫助自己工作效率的提升,畢竟圖案的吸引力總比純文字在辨識上更快速!像我都會把程式專案加上程式的ICON、相簿則使用相機的ICON、部落格待寫文章則會使用寫字的ICON。本文會有步驟教學。

本文透過自製的PNG轉ICO工具,我們可以用影像編輯工具或是PPT來快速製作PNG圖檔,然後再快速轉檔為ICO檔案。對於ICO轉檔,不能直接修改圖片的後綴來達成,首先要確認輸入的檔案必須要有透明度,再來要調整尺寸和確保圖像具有RGBA色彩空間,對於簡單的圖像轉換這樣的做法就足夠了。為了更方便使用,這次學習引入了圖形化介面tkinter模組,如此以後就不必開啟整合開發環境執行程式碼,直接點擊儲存好的.py檔案,指定使用python的方式開啟檔案,即可快速的進行檔案匯入與存檔。以下分享我的程式碼。

自定義電腦資料夾圖案吧!用Python寫一個PNG轉ICO的小工具

程式功能

  1. 將照片進行色彩轉換成RGBA
  2. .png轉檔為.ico

程式需求

  1. 安裝Python編譯器與IDE(下圖以Visual Studio Code為例)
  2. 需要以下命令安裝這些模組
    • pip install pillow:PIL (Pillow) 是 Python 的圖像處理模組,用於處理圖像檔案
    • pip install tkinter:Tkinter 是 Python 的 GUI 模組,用於建立 GUI 應用程式

基本程式碼

有基本程式基本上就能直接透過VS Code執行來使用了,程式碼如下。

自定義電腦資料夾圖案吧!用Python寫一個PNG轉ICO的小工具

加入GUI介面程式碼

我們簡單使用Tkinkter來設計一個GUI介面,這樣就不用特別開啟VS Code來執行程式,直接點及py檔案就能執行。以下是加入Tkinter的效果,點擊按鈕後可以選擇欲轉檔的.png與儲存的路徑,然後執行轉檔程式碼。

自定義電腦資料夾圖案吧!用Python寫一個PNG轉ICO的小工具

如何快速製作PNG圖檔?

如何製作一個方形的.png圖檔,當然可以使用修圖軟體或繪圖軟體來製作,但我們也可以簡單快速使用Power Point來製作,也可以透過現在很多Free ICON或AI ICON生成工具來製作更有特色的圖示檔案。

方法1. 使用PPT製作ICON

用Power Point的原因是其普及率高且上手難易度不高,先設計一個長寬比1:1的畫面,放上想要的圖片,然後另存新檔時儲存為可攜式網路圖形格式,便是.png檔案。這裡的圖案可以上網找、自己繪製、AI生成、也能使用照片。

  • STEP1:新增一個.pttx檔案
  • STEP2:導覽列→設計→投影片大小→自訂投影片大小→輸入寬度與長度相同的數值
  • STEP3:在投影片中加入圖檔
  • STEP4:導覽列→檔案→另存新檔→瀏覽→選擇存檔路徑與輸入檔案名稱→存檔類型選擇可攜式網路圖形格式→儲存

自定義電腦資料夾圖案吧!用Python寫一個PNG轉ICO的小工具

方法2. 免費ICON網站:flaticon、Icon-rainbow

在網路上也有很多免費的ICON網站可以使用,包括flaticonIcon-rainbow都是很好的選擇,存檔時選擇.png檔案即可,要用.svg也可以插入Power Point只是操作會比較複雜一些。

自定義電腦資料夾圖案吧!用Python寫一個PNG轉ICO的小工具

方法3. 可製作LOGO的AI:Recraft、Bing Image Creator

目前有很多免費的生程式圖案的AI工具,其中針對LOGO設計的Recraft是一個很好的選擇,而Bing Image Creator因為生成為正方形,也可以用logo、vector art等關鍵字promt來生成,所以也是很好的一個作法。如果你有其他AI軟體也可使用,像撰風更喜歡Midjourney,只是這個是需要付費的生程式AI程式。這邊用Recraft來做示範。

如何使用Recraft製作LOGO圖片?

  • STEP1:註冊Recraft並新增一個Project
  • STEP2:選擇生成風格
  • STEP3:輸入Prompt(請使用英文)
  • STEP4:按下Recraft生成圖片
  • STEP5:點擊喜歡的圖片→選擇存檔格式.png→Save

自定義電腦資料夾圖案吧!用Python寫一個PNG轉ICO的小工具

如何將資料夾設為ICO檔案?

  • STEP1:對資料夾按右鍵→內容→自訂→變更圖示→瀏覽選擇.ico圖檔→確定

自定義電腦資料夾圖案吧!用Python寫一個PNG轉ICO的小工具

Python學習紀錄
Python基礎語法
主題 文章
編譯器與IDE
  • 註解:Comments
  • 模組:pip install.Module
  • 印出:print
  • 資料型態:numbers.string.list.tuples.dictionary
  • 運算:算數運算子.關係運算子.邏輯運算子
  • 判斷式:if else
  • 迴圈:while.for
  • 自定義函數:def
  • 矩陣:Array
  • 迭代器:Iterators
  • 物件導向:類(Classes).物件(Objects).封裝(Encapsulation).繼承(Inheritance).多型(Polymorphism)
  • 讀取儲存:Files I/O
  • 資料儲存:Json
  • 嘗試:Try Except
  • 互動:Input
  • 日期:Date
常用模組
  • Math:數學
  • Numpy:矩陣與線性代數運算
  • Random:隨機數
  • Matplotlib:資料作圖
  • OpenCV:影像資訊處理庫
  • pandas:配合Excel、CSV、Jason等數據處理
影像處理
  • 影像讀取與屬性修改
  • 網路攝影機
網路爬蟲
  • 網站爬蟲:Web Crawler
圖形介面
  • Tkinter:基礎GUI介面
  • PySide:Qt框架的GUI介面
  • CustomTkinter:基礎GUI介面美化版
  • Eel:結合html、JavaScript、CSS的網頁GUI介面
檔案打包
Python應用學習
主題 文章
影像應用
  • 圖像辨識
  • 肢體追蹤:Google MediaPipe
機器學習
  • 數據讀取
  • 資料預處理
  • 訓練集與測試集
  • 特徵縮放
  • 代入模型
  • 模型訓練與學習率測試
  • 損失函數:均方誤差.二元交叉熵.Scikit-Learn
深度學習
  • Keras
  • PyTorch
  • TensorFlow
語言分析
  • SnowNLP
  • Bert WWM
圖像生成
  • Stable Diffusion
寫一點小工具
小小作品
Python學習資源
常用網站
編輯 ] 筆記 » 程式語言 » Python
Python|HTML|CSS|JavaScript|Blender|Unreal Engine
0

Facebook留言

Wordpress留言 (0)

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *