PNG降低品質後為什麼容量不變
PNG不適用品質設定,因此Apps24在選擇PNG時停用品質滑桿。Canvas品質選項適用於JPEG與WebP,不適用於PNG。我們以兩種PNG品質儲存同一個合成漸層,比較位元組數與SHA-256。
輸入與結果
PNG 20% | 3,304 bytes |
PNG 80% | 3,304 bytes |
WebP 80% | 2,074 bytes |
JPEG 80% | 3,916 bytes |
PNG SHA-256 | 54e456a5602aae16b8bd75c1fc688858e1b447fe251ce9280e9431bce261e53e |
理解結果
兩個PNG皆為3,304位元組,雜湊相同。WebP 80%為2,074位元組,JPEG為3,916位元組,轉換格式不一定縮小。此樣本不是照片平均壓縮率。雜湊相同表示輸出相同,僅憑容量相同不能證明這一點。
下一步
需要PNG時先判斷能否減少像素。否則試用WebP,檢查邊緣、小字與透明區域。JPEG適合不透明照片,但Apps24會把透明區域變白。下載前比較容量;節省率為負時,若不需要新格式,應保留原圖。
使用工具限制與測試條件
條件:Chromium 154,320×200不透明像素,R=x mod 256、G=y mod 256、B=(x+y) mod 256、alpha=255,不縮放。可下載腳本重現。內容與瀏覽器編碼器影響結果,較小的失真檔案不是視覺品質評分。
png-fixture.js參考來源
Apps24透過實作程式碼與回歸測試核對範例。瀏覽器實驗會說明條件,但不保證所有裝置的結果。回報錯誤時請提供網址、範例輸入、預期結果與瀏覽器。請勿傳送密碼、私人文件或個人資料。