這次嘗試用Python寫一個簡易的批次修改圖片大小的工具,雖然是很基礎的應用,但還真的蠻實用的,畢竟寫部落格的照片實在不宜過大,不然會造成讀者載入文章的困擾,我通常習慣把照片調整程寬度1200px。
這次的思路一樣很簡單,如同上次寫的相片批次轉檔工具類似,使用os模組讀取指定的資料夾路徑,讀取裡面所有的照片格式的檔案(在此指定.jpg、.jpeg、.png、.bmp),將超過指定寬度的以上的圖檔加入list中,接著對list中的照片使用PIL的resize功能,將這些圖檔的進行維持長寬比但寬度限制為1200px的變形,最後再原檔名後面加上「_resized」的字樣另存新檔。至此基本上就可以使用了!
為了更方便使用,這次學習引入了圖形化介面tkinter模組,如此以後就不必開啟整合開發環境執行程式碼,直接點擊儲存好的.py檔案,指定使用python的方式開啟檔案,即可快速的批次處理照片。以下分享我的程式碼。下此我嘗試使用更好看的Eel模組來製作圖形化介面。

程式功能
- 讀取寬度超過指定寬度(px)以上的照片(例如:輸入1200)
- 將讀取的照片修正為不改變長寬比,且寬度為指定數值的照片(例如:4096*3072→1200*900)
- 將程式引入GUI圖形化介面
程式需求
- 安裝Python編譯器與IDE(下圖以Visual Studio Code為例)
- 需要以下命令安裝這些模組
pip install pillow:PIL (Pillow) 是 Python 的圖像處理模組,用於處理圖像檔案pip install tkinter:Tkinter 是 Python 的 GUI 模組,用於建立 GUI 應用程式
程式碼
程式效果

程式碼(加入GUI介面)
程式效果

Python學習紀錄
| 主題 | 文章 |
| 編譯器與IDE |
|
|
|
| 常用模組 |
|
| 影像處理 |
|
| 網路爬蟲 |
|
| 圖形介面 |
|
| 檔案打包 |
|
| 主題 | 文章 |
| 影像應用 |
|
| 機器學習 |
|
| 深度學習 |
|
| 語言分析 |
|
| 圖像生成 |
|
| 小小作品 |
| 常用網站 |
| [ 編輯 ] 筆記 » 程式語言 » Python |
| Python|HTML|CSS|JavaScript|Blender|Unreal Engine |


![[Python] PySide6模板與入門學習!圖形化介面使用者友善,讓程式變得更貼心 [Python] PySide6模板與入門學習!圖形化介面使用者友善,讓程式變得更貼心](https://i1.wp.com/img.jfsblog.com/2024/11/20241111213500_0_204ef7.jpg?quality=90&zoom=2&ssl=1&resize=350%2C233)

![[PlayCanvas + VIVERSE] 一次性 NPC 對話框 [PlayCanvas + VIVERSE] 一次性 NPC 對話框](https://i0.wp.com/img.jfsblog.com/2025/11/20251109212442_0_e7359a.jpg?quality=90&zoom=2&ssl=1&resize=350%2C233)
![[Python初學者] 安裝Python與Visual Studio Code步驟 [Python初學者] 安裝Python與Visual Studio Code步驟](https://i0.wp.com/img.jfsblog.com/2023/08/20230803011004_3.jpg?quality=90&zoom=2&ssl=1&resize=350%2C233)




