照片壓縮:畫質與檔案大小最佳化指南
數位照片常常需要在視覺品質與檔案大小之間取得平衡。有效的照片壓縮對於網頁快速載入、節省儲存空間與保留影像細節至關重要。本指南說明在不損失重要視覺資訊的前提下,進行照片壓縮的原則、技術與最佳實踐。
照片壓縮基礎
照片包含複雜的色彩漸層、細緻的細節以及較高的動態範圍。壓縮時應盡量減少這些特性的損失,同時縮小檔案體積。
壓縮類型
- 無損壓縮:保留所有原始影像資訊。適合歸檔或後製。
- 有損壓縮:移除人眼難以察覺的資訊,大幅減少檔案大小。
關鍵術語
- 位元深度:決定每個像素可顯示的顏色數量。位元深度越高,細節越豐富,但檔案也越大。
- 色度次取樣(Chroma subsampling):在保留亮度細節的同時減少色彩資訊(如4:2:0)。
- 壓縮雜訊(Artifact):過度壓縮導致的不良視覺效果(區塊、條紋、細節流失等)。
推薦的照片格式
格式 | 壓縮類型 | 透明 | 動畫 | 色深 | HDR支援 |
---|---|---|---|---|---|
JPEG | 有損 | 否 | 否 | 8位元 | 否 |
PNG | 無損 | 是 | 否 | 8/16位元 | 否 |
WebP | 有損/無損 | 是 | 是 | 8位元 | 否 |
AVIF | 有損/無損 | 是 | 是 | 8/10/12位元 | 是 |
JPEG XL | 有損/無損 | 是 | 是 | 8/10/12/16位元 | 是 |
不同情境下的壓縮設定
1. 網頁相簿
- 格式:WebP或AVIF
- 品質:70–85(有損)
- 色度次取樣:4:2:0
- 建議:針對不同類型照片測試多種品質等級。
2. 歸檔與編輯
- 格式:PNG、TIFF、JPEG XL(無損模式)
- 品質:100(無損)
- 色度次取樣:4:4:4
- 建議:保留原始檔以便後續編輯。
3. 社群媒體
- 格式:JPEG、WebP
- 品質:75–85
- 色度次取樣:4:2:0
- 建議:了解平台對圖片的二次壓縮方式。
程式碼範例:Python 實現 JPEG 壓縮
from PIL import Image
img = Image.open('photo.jpg')
img.save('photo_compressed.jpg', quality=80, optimize=True, subsampling=0)
保持畫質的小技巧
- 避免對同一檔案重複進行有損壓縮。
- 編輯與歸檔時優先使用無損格式。
- 匯出網頁圖片時多測試不同品質等級。
- 高壓縮比時注意雜訊與細節流失。
總結
正確的照片壓縮需要理解畫質與檔案大小的取捨。善用現代格式,並根據用途調整參數,獲得最佳效果。