AVIF to PNG:瀏覽器內直接轉換的無損解決方案
AVIF(AV1 Image File Format)利用 AV1 視訊編碼技術壓縮影像,在同樣畫質下提供比 JPEG 和 WebP 更小的檔案體積,同時支援 8/10/12-bit 色彩深度、HDR 色域以及完整的透明通道(alpha channel)。然而,AVIF 的解碼支援雖然已在主流瀏覽器(Chrome、Edge、Firefox 89+、Safari 16.4+)普遍實作,但 AVIF 編碼(寫入)的支援卻未普及——Firefox 與 Safari 目前仍未內建 AVIF 編碼器。這意味著若你想將 AVIF 圖片轉換為更通用的格式,卻又不想將檔案上傳到任何伺服器,便需要一種完全在本地端完成轉換的工具。本頁面正為此設計:它僅依賴瀏覽器的影像解碼與 Canvas API,將 AVIF 轉換為 PNG,全程不離開你的裝置。
AVIF 與 PNG 的根本差異
AVIF 採用的是有損或無損的 AV1 壓縮(通常以有損為主,壓縮比極高),而 PNG(Portable Network Graphics)是純無損壓縮格式,不允許任何畫質取捨。PNG 支援完整的 8-bit 透明通道(每像素 256 級透明度),但不支援 HDR 或 10-bit 以上色深。當你把一張 AVIF 相片轉成 PNG,所有像素數據會以無損方式保留——但檔案體積會顯著增大,因為 PNG 的壓縮演算法(Deflate)對自然照片的壓縮效率遠低於 AV1 編碼。反之,對於螢幕截圖、Logo、線條圖等包含大量重複色塊的內容,PNG 的壓縮效率較好,轉換後的檔案增長幅度可能很小,甚至出現「檔案變小」的情況(當原始 AVIF 使用無損模式儲存時,PNG 的壓縮可能反而更高效,但實務上 AVIF 無損模式並不常用)。
本轉換器不提供任何品質滑桿:PNG 輸出永遠是無損的,沒有「壓縮率」可調。如果你希望保留 AVIF 的壓縮優勢而僅需檢視或編輯,請考慮改用支援 AVIF 的軟體;但若你必須取得一個無進一步畫質損失的副本(例如用於編輯、歸檔、或傳送給只接受 PNG 的系統),這個轉換便最適合。
瀏覽器對 AVIF 編碼的支援缺口與自動回退
AVIF 解碼在 2023 年已獲主要瀏覽器支援,但編碼仍是一項較新的 API(ImageEncoder/WebCodecs),目前僅 Chromium 核心(Chrome、Edge、Opera)實作了 AVIF 編碼器。Safari 和 Firefox 預設不支援寫入 AVIF。本工具在設計時偵測了瀏覽器能力:若你的瀏覽器無法編碼 AVIF,轉換器會自動以 PNG 作為目標格式,並在結果上清楚標示「Your browser doesn’t support saving this format — used PNG instead.」。由於本頁面預設即是 AVIF→PNG,這項回退主要影響你想把其他來源(如 WebP、HEIC)轉成 AVIF 但瀏覽器不支援時的情況。然而,因為頁面的核心功能是 AVIF→PNG,回退邏輯確保無論瀏覽器能力如何,使用者都能獲得可下載的 PNG 檔案。
轉換結果的檔案尺寸標籤與下載管理
每次轉換後,工具會呈現每張圖片的原始檔名、尺寸(像素寬 × 高)、原始檔案大小、轉換後檔案大小,以及一個標籤:若轉換後檔案小於原始檔案,標籤顯示「Saved」;若大於則顯示「Larger」。這項標籤是絕對比較,不會考慮 AVIF 的原生壓縮優勢——換句話說,風景照轉 PNG 幾乎總是標為「Larger」,而純色圖示可能標為「Saved」。底部會顯示總計行:「Total: ‹原始總大小› → ‹轉換後總大小›」。當你轉換了兩張或以上圖片,會出現「Download all (.zip)」按鈕,將所有 PNG 打包為一個 ZIP 檔案,便於一次儲存。每張圖片也可獨立下載,按一下對應的下載按鈕即可。
常見錯誤訊息與其原因
工具會對幾種常見的異常情況回報明確的錯誤訊息:
- 「Choose at least one image.」 —— 未選擇檔案時點擊轉換。
- 「This file type isn’t supported.」 —— 選入了非支援格式(支援清單:AVIF)。
- 「Choose up to ‹max› images at a time.」 —— 一次選取超過允許上限(上限由工具設定,例如 20 張)。
- 「Conversion failed. Try a different image or format.」 —— 瀏覽器無法從選取的檔案解碼影像(可能是編碼格式不支援或檔案損毀)。
- 「This file could not be opened as an image. It may be corrupted, empty, or not actually an image.」 —— 檔案無法被瀏覽器辨識為影像(例如副檔名是.avif 但內容是文字檔)。
- 「‹count› file(s) could not be processed.」 —— 批量處理中部分檔案轉換失敗時,顯示失敗數目。
- 「Your browser doesn’t support saving this format — used PNG instead.」 —— 如前所述,因瀏覽器不支援 AVIF 編碼而自動改用 PNG,並清楚標示。
這些訊息以英文呈現(原文工具),但即使不熟悉英文,從上下文也能理解處理結果。
常見問題 (FAQ)
Q: 轉換後 PNG 的透明背景會保留嗎?
A: 會。AVIF 支援透明通道,PNG 也支援 8-bit 透明通道。轉換時 alpha 通道會完全保留,像素值維持不變。
Q: 一張 5 MB 的 AVIF 相片轉成 PNG 大約會多大?
A: 沒有固定倍率,但典型情況是 15–50 MB。AVIF 對照片的壓縮比可達 50% 以上,而 PNG 對自然照片的壓縮效率很差。建議你實際轉換一張看看標籤。
Q: 這個工具是否把圖片上傳到你的伺服器?
A: 絕對不會。所有處理都在你的瀏覽器內完成(使用 File API 與 Canvas API)。你可以拔掉網絡後仍能正常使用。
Q: 我可以用它把 HEIC 轉成 PNG 嗎?
A: 不可以。本頁面只接受 AVIF 格式的輸入,並輸出為 PNG。
Q: 為什麼轉換某些 AVIF 檔案失敗?
A: 可能是該檔案使用了瀏覽器不支援的編碼設定,例如 12-bit 色深、HDR 專用色彩矩陣、或封裝了非標準中繼資料。也可以檢查檔案是否完整未損毀。
Q: 我可以一次轉換幾張圖片?
A: 工具設有選取上限(通常為 20 張)。若你選取超過上限,會收到提示訊息。如有大量圖片需要轉換,建議分批處理。