20KB 是個很小的目標。它通常是考試和政府門戶對掃描簽名、小尺寸證件照的限制;如果不先把尺寸降下來,全解析度的相機照片是達不到的。
20KB 大約是兩萬位元組的編碼資料。一張 200x230 的證件照約 4.6 萬像素,壓到 20KB 毫無壓力。而一張 4000x3000 的手機照片有 1200 萬像素,20KB 攤到每個像素不到 0.02 字節——沒有任何編碼器能在可用畫質下做到。我們仍會輸出能做到的最小文件並標註未達目標,但對大圖來說,誠實的答案是先把尺寸降下來。
這個頁面的建議和別的頁不一樣:在 20KB 這個量級,我們的第一個建議是縮尺寸,而不是繼續往死裡壓。先把圖縮到表單真正要求的尺寸(常見是 200x230 或 300x300),再回來設 20KB。
先去調整圖片尺寸無需專業技術知識,免費快速的線上圖片處理工具,電腦手機全設備均可使用
我們在每個細節都做到極致,用技術保障每一次處理
20KB 這個天花板幾乎完全來自表單上傳的慣例。考試報名系統和政務服務會對照片和簽名分別設限,而簽名那一檔往往更緊:10KB 到 20KB,通常還附帶固定尺寸。這些系統當年是按慢網速和小儲存預算設計的,限制一直沒有放寬過。
這也是 20KB 值得單獨一個頁面、而不是當成一個普通數字的原因:20KB 的建議和 100KB 的建議是兩回事。 100KB 你直接壓就行,20KB 通常得先縮尺寸再壓。一個只會讓你「再試試」的工具是在浪費你的時間。
我們不會縮放圖片,也不會轉換成別的格式。做法是對編碼品質做二分搜尋:編碼、測量、調整、再編碼,直到結果剛好落在你給的數字之下。因為這一步跑在服務端、用的是真正的編碼器(pngquant、cwebp、gifsicle、libjpeg)而不是瀏覽器 canvas,所以在放棄之前能往下探得比瀏覽器端工具更深。目標體積模式支援 JPG、PNG、WebP、GIF、HEIC、JXL、JP2、JXR,其餘格式會回退到常規的按質量壓縮。