影響相片檔案大小的關鍵因素
相片檔案的容量大小,主要由三個核心要素決定:像素總數、色彩資訊的豐富度,以及編碼器的預測效率。
- 像素總數(解像度):相片的闊度與高度相乘,就是像素總數。例如一張 4000 × 3000 像素的相片,含有高達 1,200 萬個像素點。每個像素都需要位元組(Bytes)來記錄其位置與色彩,因此解像度越高,基礎檔案體積自然越大。
- 色彩資訊與通道:每個像素所攜帶的色彩數據量各有不同。24-bit 真彩色相片能呈現超過 1,600 萬種顏色;而含有透明通道(Alpha Channel)的 PNG 檔案,還需要額外的空間來儲存透明度資訊。
- 編碼預測與壓縮演算法:編碼器在處理相片時,會尋找相鄰像素之間的規律。如果相片含有大片純色(例如標誌、圖表或螢幕截圖),編碼器就能輕易預測並以極少數據記錄;相反,若相片充斥著複雜的細節(例如樹葉、沙灘或雜訊),編碼器難以預測,檔案體積就會顯著增加。
破譯失真與無損壓縮的實際運作
在實際應用中,不同格式的壓縮機制有著本質上的差異。
PNG 格式的破壞性色彩縮減
很多人誤以為 PNG 只能進行無損壓縮,但本工具對 PNG 的處理是「破壞性」與「無損」結合的過程。
- 色彩縮減(破壞性):工具會將相片中成千上萬種顏色,縮減至最多 255 色的調色盤。這個步驟會永久丟棄部分色彩資訊,使像素數據發生實質改變。
- 無損重包裝:完成色彩縮減後,工具才會對剩餘的數據進行無損壓縮編碼。
- 品質把關機制:工具會嘗試多種不同的色彩縮減程度,並將每個版本與原圖進行比對。如果肉眼可見的差異太大,該嘗試就會被捨棄,最終只保留符合強度要求、體積最細的成果。
如果相片本身是含有漸變色或人像膚色的攝影作品,減少顏色很容易導致色彩斷層(Banding);但如果是扁平化設計的 Logo、文字圖表或介面截圖,減少顏色幾乎不會引起肉眼察覺的變化,檔案體積卻能大幅暴跌。
當遇到細節過於豐富、無法安全減少顏色的 PNG 相片(例如相片格式的攝影作)時,工具會放棄色彩縮減,轉為純粹的無損重包裝,此時會顯示「這張圖片的細節太多,若要再縮小會影響肉眼可見的畫質,因此已保持像素完全不變。」,這能提供真實但幅度較小的容量縮減。
JPEG 與 WebP 的多重編碼測試
對於 JPEG 和 WebP 格式,工具會採用多個不同的畫質參數進行背景編碼,並將各個輸出結果與原圖進行精密比對,最後挑選出體積最細、同時與原圖視覺效果最接近的版本。
格式選擇與透明度處理
選擇合適的輸出格式,往往比單純調整壓縮強度更能節省空間。
| 格式 | 透明度支援 | 最佳適用場景 | 壓縮特性 |
|---|---|---|---|
| JPEG | 不支援(透明區域會填滿白色) | 寫實攝影、複雜色彩漸變相片 | 破壞性壓縮,不適合文字與高對比邊緣 |
| PNG | 支援完整透明通道 | 標誌、含有文字的截圖、扁平插畫 | 透過調色盤縮減進行破壞性壓縮,配合無損打包 |
| WebP | 支援透明通道 | 網頁相片、兼顧高壓縮率與透明度的場景 | 先進編碼,同等畫質下體積遠小於 JPEG 及 PNG |
如果工具偵測到某張相片若轉為 WebP 格式可以節省超過一半的空間,結果頁面就會顯示提示:「轉為 WebP 格式會細得多。可在下方更改輸出格式試試。」。這是一個手動切換的建議,若選擇「保持原格式」,工具絕對不會擅自更改你的檔案格式。
深入「指定大小」極限壓縮模式
當你需要應付嚴格的網頁表單或系統上載限制時,「指定大小」模式會啟動一套雙重優化機制:
- 編碼逼近:首先,工具會嘗試在不改變相片像素尺寸的前提下,極度調低編碼畫質以達到目標 KB 或 MB 值。
- 等比例縮減尺寸:如果將編碼畫質降到極限仍無法低於目標大小,工具就會開始將相片尺寸進行等比例縮減,每輪縮減約十分之一的像素。
這項縮減尺寸的程序會在觸及以下任一臨界點時立即停止:
- 像素量降至原圖的三分之一:例如一張 1,200 萬像素(4000 × 3000)的相片,縮減至大約 400 萬像素(此時每邊長度約為原來的 58%)就會停止縮減。
- 最長邊降至 800 像素:相片尺寸縮小至此臨界值後,將不再繼續縮小。
如果成功達到目標,會顯示「目標:已達成」;若已達到上述極限仍無法低於設定值,則會顯示「目標:已達到最接近的效果」。這代表編碼器已盡全力,且相片尺寸已縮減至極限,用戶應考慮調高目標大小或接受更小尺寸的相片。
處理規則、元數據與邊緣情況
- 像素尺寸保留原則:除非用戶手動設定了「最大闊度」或「最大高度」,或者相片極大(超過約 2,400 萬像素,觸發「為確保記憶體安全已自動限制」以防止瀏覽器崩潰),否則相片的像素闊高在壓縮後會維持不變。
- 元數據丟棄:壓縮過程會重新寫入相片數據,因此相機型號、拍攝日期、GPS 定位等 EXIF 資訊均不會保留。唯一的例外是當相片已無法再壓縮,工具顯示「這張圖片已經縮到最細,因此保留了原圖,沒有降低質素。」並退回原檔案時,該檔案的元數據才會完好保存。
- 方向自動修正:工具會讀取相片元數據中的旋轉標記並在壓縮時直接套用,確保手機直拍的相片不會在壓縮後變成橫向。
- 不提供變大檔案:如果壓縮後的檔案沒有比原圖細,工具會直接退回原檔案,確保你下載的位元組絕不膨脹。
常見問題
我嘅相片有冇被上載?
冇。壓縮器完全喺你嘅瀏覽器入面運行,所有相片檔案都會一直保留喺你嘅裝置入面。
支援邊啲相片格式?
支援輸入 JPEG、PNG 同 WebP 格式,並可以輸出成 JPEG、WebP 同 PNG。
壓縮會唔會降低相片質素?
智能壓縮會測試唔同嘅輕量畫質選項,並保留睇落依然清晰、體積又最細嘅壓縮結果。
我可唔可以設定準確嘅目標檔案大小?
可以。目標大小模式會自動尋找符合嘅畫質級數,如有需要亦會輕微調整尺寸。