Python 圖片壓縮 (Pillow) | Python
在開發網站或應用程式時,圖片壓縮是一個重要的步驟,可以幫助提高網頁載入速度,節省流量,並改善用戶體驗。我們將介紹如何使用 Python 進行圖片壓縮,並提供一個簡單的範例。
首先,我們需要安裝一個 Python 庫,用於處理圖片。我們可以使用 Pillow
庫,這是 Python Imaging Library(PIL)的一個分支,支援更多的功能。
pip install Pillow
使用 Pillow 庫進行圖片壓縮
下面是一個簡單的 Python 程序,使用 Pillow 庫進行圖片壓縮。在這個範例中,我們將壓縮指定目錄中的所有圖片。
from PIL import Image
import os
def compress_images(input_dir, output_dir, quality=85):
"""
將輸入目錄中的所有圖片進行壓縮,並保存到輸出目錄。
Parameters:
input_dir (str): 輸入目錄的路徑。
output_dir (str): 輸出目錄的路徑。
quality (int): 壓縮的品質,範圍是 0 到 100,數值越高品質越好。
"""
if not os.path.exists(output_dir):
os.makedirs(output_dir)
for filename in os.listdir(input_dir):
if filename.endswith(('.png', '.jpg', '.jpeg')):
input_path = os.path.join(input_dir, filename)
output_path = os.path.join(output_dir, filename)
# 開啟圖片
img = Image.open(input_path)
# 長寬都減至50%
width, height = img.size
new_size = (width//2, height//2)
resized_image = img.resize(new_size)
# 進行壓縮
resized_image.save(output_path, quality=quality)
print(f'{filename} 已壓縮並保存到 {output_dir}')
# 指定輸入和輸出目錄
input_directory = '輸入目錄的路徑'
output_directory = '輸出目錄的路徑'
# 調用函數進行圖片壓縮
compress_images(input_directory, output_directory)
請將上述程式碼中的 輸入目錄的路徑
和 輸出目錄的路徑
替換為你實際的目錄路徑。這個程式會尋找輸入目錄中的所有圖片文件(png、jpg、jpeg 格式),壓縮它們,並將壓縮後的圖片保存到輸出目錄。
你可以根據需要調整 quality
參數,以平衡圖片品質和檔案大小。該參數的值在 0 到 100 之間,數值越高品質越好,但檔案大小也越大。
這是一個簡單而有效的方法,可以在網站或應用程式中優化圖片,或是製作出lazy loading image。希望這個教學對你有所幫助!
Tags