← 返回部落格

Windows 上的無損影像壓縮:「無損驗證」代表什麼

了解 Windows 上經驗證的無損影像壓縮,包括縮小 92% 的 GIF、完全複製的 PNG 備援結果、螢幕截圖,以及 LocalFlux 1.0.7 的實證。

作者 LocalFlux Editorial Team

圖片 解析
LocalFlux 顯示一個經驗證為無損且縮小 92% 的 GIF 結果
本頁內容
  1. 簡短解答
  2. 「無損驗證」代表什麼
  3. LocalFlux 依格式驗證哪些項目
  4. 保護隱私的測試設定
  5. 步驟 1:加入支援的影像
  6. 步驟 2:選擇無損
  7. 步驟 3:在本機執行最佳化
  8. 結果 1:真正縮小且通過驗證的檔案
  9. 結果 2:完整複製備援
  10. 為什麼有些看似沒有效率的檔案仍會變成完整副本
  11. 無損、預設與目標大小的比較
  12. 可以批次執行經驗證的無損最佳化嗎?
  13. 查看實證
  14. 常見問題
  15. 實用檢查清單
  16. 結果

如果您想在不改變影像內容的情況下縮小檔案,困難之處不在於選擇一個名為Lossless(無損)的設定,而在於證明新檔案仍然呈現相同內容,並且知道軟體無法證明時應該怎麼做。

LocalFlux 1.0.7 以預設拒絕的工作流程處理這種不確定性。它會在本機建立最佳化候選檔案、檢查各格式特有的內容與中繼資料不變條件,且只有在這些檢查通過時,才會發布變更後的候選檔案。如果候選檔案無法通過驗證或並未縮小,LocalFlux 便會改為將來源檔案完整複製一份,並採用新的 _optimized 名稱。

精確複製也需要可讀取的來源檔案及可寫入的目的地。解碼、驗證或寫入錯誤仍可能導致工作失敗,請先檢查每個檔案的狀態。

我使用存放於 C:\tmp 下的合成檔案測試了這兩種結果:

這些範例說明此標籤要表達的含義:LocalFlux 不會把「轉換已完成」等同於「結果是無損的」,也不承諾每個輸入檔案都會變小。

這些是實測範例,不代表普遍都能達到相同的縮減幅度:無損最佳化取決於來源格式、容器結構、中繼資料、先前的編碼方式,以及影像或動畫內容。有效的結果可能大幅縮小、略微縮小,也可能是大小完全不變的完整副本。

在 LocalFlux 中試用經驗證的無損影像最佳化

簡短解答

若要在不刻意變更內容的情況下最佳化支援的影像:

  1. 開啟 LocalFlux,然後選取壓縮。
  2. 加入一個或多個支援的 JPEG、TIFF、靜態 PNG 或 WebP、GIF、APNG 或 SVG 檔案。
  3. 開啟選項並選擇Lossless(無損)。
  4. 選取最佳化。
  5. 檢查每項結果是否顯示無損驗證,以及檔案是否縮小或顯示已最佳化。

LocalFlux 會建立名稱中含有 _optimized 的新檔案。來源檔案會留在原處。處理程序在 Windows 電腦上執行;檔案不會上傳至線上轉換服務。

LocalFlux 顯示 C:\tmp 下的兩個合成檔案,並已選取無損策略。

介面截圖於2026年10月使用依據已記錄的 LocalFlux 1.0.10.0 發佈原始碼重新建置的版本拍攝。下方歷史測量值與下載資料仍保留原始測試範圍。截圖記錄: 1

2026年10月複核:10種介面語言共產生20個輸出,皆與歷史 GIF、PNG 輸出逐位元組一致。GIF 包含12個畫格,每個100 ms,算繪結果與循環設定一致;GIF 延遲值10代表10/100秒。介面的 KB 數值使用1024位元組單位(KiB)。這些結果僅驗證兩個合成樣本,並不代表已驗證所有格式或中繼資料欄位。 2026-10

新截圖中的索引標籤仍顯示英文:Lossless(無損)、Preset(預設)、Target size(目標大小)。

「無損驗證」代表什麼

「無損」經常用來描述編碼器設定。「無損驗證」則描述了更嚴格的結果契約。

在這套 LocalFlux 工作流程中,變更後的候選檔案必須符合三項條件:

  1. 支援的內容檢查皆通過。視格式而定,這可能包括解碼後的像素、動畫中每一個算繪後的畫格、每一個 TIFF 頁面、時間、尺寸或幾何資訊。
  2. 支援的內嵌中繼資料檢查皆通過。確切欄位會依容器而異。LocalFlux 會比較它承諾在該處理路徑中保留的中繼資料,而不會假設編碼成功就代表一切都已保留。
  3. 候選檔案確實更小。如果經驗證的候選檔案沒有節省位元組,取代來源檔案的表示方式便沒有實際的最佳化效益。

如果其中任何條件未獲滿足,變更後的候選檔案就不會以最佳化結果發布。LocalFlux 會將來源檔案的位元組還原至新的輸出路徑,並顯示已最佳化。

最後這項行為非常重要。工具很容易產生一個在快速預覽時看起來相同、實際上卻不同的檔案。要證明像素、頁面、畫格、時間與中繼資料之間的差異皆無害,難度高得多。當證明不完整時,LocalFlux 的原則是選擇保守的結果。

LocalFlux 依格式驗證哪些項目

不同的影像容器需要不同的不變條件。單純採用「比較寬度與高度」的規則會遺漏太多資訊。

格式LocalFlux 1.0.7 的驗證重點重要的備援行為
JPEG解碼後的像素簽章,以及原始 APP 與 COM 中繼資料區段編碼表最佳化可能會改變某些輸入的解碼值,因此無法證明等效時,預期會採用完整複製備援。
靜態 PNG解碼後的像素簽章,以及支援的色彩、EXIF、XMP、文字與實體中繼資料區塊最終比較前會先保留必要的輔助中繼資料;無法驗證的候選檔案會被捨棄。
靜態 WebP解碼後的像素簽章,以及支援的內嵌中繼資料區塊只有在內容與中繼資料比較皆通過且檔案更小時,才會發布候選檔案。
TIFF每個解碼後的頁面、像素簽章、頁面幾何資訊與支援的中繼資料若 TIFF 含有經驗證的像素儲存標籤集以外的標籤,便會原樣複製,以免冒著在未提示下遺失標籤的風險。
GIF每個合成後的算繪畫格、畫格延遲、循環次數,以及保留的註解/應用程式/純文字延伸區塊只有在算繪後的動畫與支援的延伸區塊仍然等效時,才會接受畫格最佳化。
APNG正規化的逐畫格雜湊值、時間、畫格數、循環次數,以及保留的 PNG 輔助中繼資料任何不相符或無法驗證的結果都會觸發完整來源檔案備援。
SVG來源檔案的位元組本身在無損模式中,SVG 會逐位元組複製。只有在可接受以保守方式移除註解與僅供編輯器使用的資料時,才使用獨立的安全向量最佳化預設。

這也正是為何不應把已驗證一詞延伸解讀成:每種檔案格式中的每一項可能屬性,都已經在數學上證明完全等效。它指的是 LocalFlux 1.0.7 為其支援的處理路徑所檢查之明確內容與中繼資料不變條件。

保護隱私的測試設定

本次測試在 Windows 上使用 當時 Microsoft Store 提供的 LocalFlux 1.0.7.0 應用程式。過程中未使用任何私人照片、客戶文件、使用者名稱或專案資料夾。原始1.0.7測試使用下列資料夾;新截圖使用 C:\tmp\LocalFluxBlogRefresh:

C:\tmp\LocalFlux-lossless-proof-v107\input

兩個實證案例均由合成的儀表板圖稿建立:

案例輸入用途
可縮減的動畫dashboard-animation-repeated-frames.gif十二個相同的完整尺寸畫格刻意製造畫格儲存冗餘,讓經驗證的動畫最佳化工具得以移除。
已最佳化的對照組already-optimized-icon.png精簡的 PNG 用來測試沒有節省空間與完整複製的分支。

這個 GIF 是刻意製作的人工檔案。它的用途在於預期內容毫無歧義:12 個畫格、每個畫格皆為相同的 1920 × 1080 算繪影像,而且每個畫格的延遲值均為 10。它測試的是驗證契約,並不佯稱這是一般動畫壓縮率的代表。

步驟 1:加入支援的影像

開啟 LocalFlux,選取壓縮,然後選擇新增檔案,或將檔案拖曳至佇列。

1.0.7 的無損模式適用於 JPEG、TIFF、靜態 PNG 與 WebP 影像、GIF 與 APNG 動畫,以及 SVG 檔案。之所以特別註明 PNG 與 WebP 必須是靜態內容,是因為動畫內容需要能感知動畫的驗證方式。APNG 與 GIF 各有其支援的處理路徑。

您可以將數個相容檔案一起加入佇列。在壓縮模式中,LocalFlux 會保留每個檔案的格式:PNG 仍是 PNG,GIF 仍是 GIF,依此類推。這與轉換模式不同;在轉換模式中,系統會為目前的批次選取一種輸出格式。

開始前,請確認佇列中包含預期的檔案,而且左下角的模式顯示為壓縮。

步驟 2:選擇無損

開啟選項並選取Lossless(無損)索引標籤。

介面會直接說明此契約:支援的檔案只有在內容與內嵌中繼資料通過驗證後才會進行最佳化,不支援的檔案則會略過。動作按鈕會從壓縮變為最佳化。

此測試請勿啟用安全共享。安全共享是另一套工作流程,其用途是從交付副本中移除私人中繼資料。無損最佳化則會嘗試保留支援的內嵌中繼資料。這兩者的目標刻意有所不同:

步驟 3:在本機執行最佳化

選取最佳化,等候佇列完成。當輸出摘要顯示輸出:與原始檔相同時,LocalFlux 會將輸出寫入來源檔案旁。

例如:

原始名稱的檔案會保留。這讓比較成為可能,但仍不能取代為重要工作妥善備份。

處理路徑完全在本機。安裝、Microsoft Store 授權或更新仍可能用到網路,但此操作不會將來源檔案傳送至遠端轉換伺服器。

結果 1:真正縮小且通過驗證的檔案

這個 12 幀 GIF 產生了明確的縮減結果:

測量項目來源LocalFlux 輸出
確切大小658,785 位元組54,329 位元組
顯示大小643.3 KB53.1 KB
畫格1212
尺寸1920 × 10801920 × 1080
逐畫格延遲序列100 ms × 12100 ms × 12
節省的位元組不適用604,456 位元組
縮減幅度不適用91.8%

LocalFlux 顯示一個經驗證且縮小 92% 的 GIF 結果,畫面中只顯示 C:\tmp 目的地。

來源與輸出的 SHA-256 雜湊值不同;對於容器表示方式已有變更的檔案,這符合預期:

雜湊值不同並不違背無損驗證。這證明檔案的位元組發生了變化。真正要問的是,解碼後的動畫與支援的中繼資料是否仍然等效。LocalFlux 顯示內容與內嵌中繼資料均已保留,而另一項獨立的算繪畫格比較也確認前後的畫格簽章相同。

為何縮減幅度如此之大?來源檔案刻意儲存了 12 個完整且重複的畫格。最佳化後的 GIF 能以更有效率的方式呈現這種重複內容。若真實動畫中幾乎每個畫格的大部分區域都在移動,節省幅度可能小得多。

結果 2:完整複製備援

這個 8,290 位元組的 PNG 未能產生符合契約且更小的候選檔案。LocalFlux 顯示:

無損驗證 · 8.1 KB → 8.1 KB · 已最佳化

這項結果並非只是顯示大小四捨五入後相同。兩個檔案都恰好是 8,290 位元組,而且都具有以下 SHA-256 雜湊值:

F287BBCE8EB98A9F19416DCE1A74A759F3AC8DDA69ADB338022CB1B8F90BD937

相同的雜湊值證明輸出是與輸入逐位元組相同的副本。LocalFlux 仍會建立 _optimized 輸出,讓批次作業能以可預期的目的地完成,但不會宣稱不存在的空間節省。

「已最佳化」可能代表編碼器找不到更小的候選檔案,也可能代表變更後的候選檔案無法符合驗證契約。從使用者的角度來看,安全結果相同:來源檔案的位元組會成為輸出檔案的位元組。

為什麼有些看似沒有效率的檔案仍會變成完整副本

檔案看起來可能沒有效率,卻仍無法產生可發布且經過驗證的候選檔案。只看大小並不足夠。

例如,重新編碼器可能會:

傳統的最佳化工具可能接受其中某些取捨。無損驗證模式不會如此。它寧可完整複製,也不接受未經證明的變更。

這也解釋了為何 JPEG 經常會進入備援分支。JPEG 通常與有損編碼相關。LocalFlux 的無損嘗試著重於編碼表最佳化,同時要求解碼後的像素簽章與原始 APP/COM 中繼資料維持等效。如果內建編碼器改變了解碼值,即使在一般縮放比例下看起來完全相同,候選檔案仍會遭到拒絕。

無損、預設與目標大小的比較

LocalFlux 提供三種不同的壓縮意圖。請勿將它們視為「縮小檔案」的同義標籤。

策略主要目標影像內容能否刻意變更?是否保證結果更小?
預設平衡視覺品質與大小可以,視格式與預設而定否
目標大小嘗試將檔案控制在選定的位元組限制內可以;在政策允許範圍內,可能降低品質,有時也可能縮小尺寸否,目標可能無法達成
無損保留經驗證的內容與支援的中繼資料除非驗證通過,否則不會發布變更後的候選檔案否,完整複製備援也是有效結果

若要製作網站交付副本,且可接受小幅、可控的視覺取捨,請使用預設。若要符合上傳表單或附件的大小上限,請使用目標大小。當維持經驗證的內容契約比盡量縮小更重要時,請使用無損。

可以批次執行經驗證的無損最佳化嗎?

可以。第一張螢幕截圖顯示一個佇列中有兩個不同格式的支援檔案。相同策略會套用至相容且待處理的項目,同時每個檔案都會保留目前的格式。

批次處理的價值不在於每個項目都獲得相同的縮減百分比,而在於每個項目都採用相同的決策原則:

  1. 嘗試適合該格式的最佳化;
  2. 驗證支援的不變條件;
  3. 只有在變更後的候選檔案更小時才予以保留;以及
  4. 否則便發布完整副本。

完成後請檢查每個檔案的資料列。同一個批次完全可能同時包含大幅縮減、小幅縮減,以及數個已最佳化的副本。

查看實證

發布套件包含本文使用的合成輸入檔案、LocalFlux 輸出、確切測量結果與雜湊值:

所有可見的路徑與檔案名稱都是合成的。螢幕截圖皆已經過審查,確認未包含使用者名稱、帳戶詳細資料、個人資料夾、客戶名稱或其他識別資訊。

常見問題

無損驗證是否代表每個檔案都會縮小?

否。這表示 LocalFlux 只有在支援的內容與中繼資料檢查通過後,才會發布變更後的候選檔案。如果候選檔案並未縮小或無法驗證,輸出便是完整副本。

為什麼無損結果的雜湊值可能不同?

無損描述的是解碼後的內容與支援的不變條件,而不是相同的容器位元組。成功的最佳化工具可以重新組織壓縮資料,而不改變解碼後的像素或畫格。相較之下,完整複製備援會具有相同的雜湊值,因為每個位元組都完全相同。

「已最佳化」結果是失敗嗎?

不是。作業已安全完成,只是找不到值得發布、經驗證且更小的表示方式。

原始檔案會遭到覆寫嗎?

在本次測試的工作流程中不會。LocalFlux 會建立 _optimized 同層檔案。無論如何,請務必為無法取代的來源檔案保留備份。

無損模式會移除 EXIF 或位置中繼資料嗎?

它的目標是保留,而非清除。若要 LocalFlux 建立並驗證已移除私人中繼資料的副本,請使用安全共享。請務必檢查您實際準備分享的檔案。

此工作流程完全離線嗎?

支援的最佳化會在電腦上執行,不會將來源檔案上傳至轉換伺服器。透過 Windows 或 Microsoft Store 進行安裝、授權與更新時,仍可能使用網路。

支援哪些格式?

LocalFlux 1.0.7 支援對 JPEG、TIFF、靜態 PNG 與 WebP、GIF、APNG 及 SVG 執行經驗證的無損最佳化。不支援的項目不會在未提示的情況下被視為已驗證。

實用檢查清單

最佳化前:

最佳化後:

結果

經驗證的無損最佳化之所以有價值,是因為它讓不確定性清楚可見。在這次 LocalFlux 1.0.7 測試中,一個合成 GIF 在保留經驗證的動畫不變條件下縮小了 91.8%。另一個已經很精簡的 PNG 則節省 0%,改為產生逐位元組完全相同的副本。

兩者都是成功的結果。第一項移除了冗餘的儲存空間。第二項拒絕未經證明或毫無意義的改寫。它們共同展現了一項比「每張影像都會縮小」更實用的承諾:只有在支援的內容與中繼資料檢查通過時,才會發布變更後的檔案;若未通過,便以完整來源檔案作為備援。

使用 LocalFlux 在本機最佳化影像