一個不用你先上傳的轉換器
「image converter」是個競爭激烈的關鍵字,原因在第一頁就看得出來:那些網站大多是還不錯的工具,但仍然要你把檔案放到他們的伺服器上——而且還附帶同意橫幅、排隊,以及免費方案的容量上限。與此同時,瀏覽器本身老早就能解碼 PNG、JPEG、WebP、GIF、BMP 與 SVG,也能重新編碼成 PNG、JPEG 與 WebP。
所以這個頁面就是把瀏覽器自己的解碼器,圍上一個像樣的介面。有三件事是刻意設計的:
- 是矩陣,不是單向頁面。 大多數轉換器只有單一方向(「PNG to JPG」),你得自己去找相反方向的頁面。在這裡,任何來源都能轉成三種輸出中的任一種,而且在你按下轉換之前,就能看到工具偵測到的來源格式——包括偵測錯誤的情況,而那正是轉換會悄悄毀掉圖片的時刻。
- 批次處理,不會默默覆蓋。 拖入一整個資料夾,每個檔案產出一份結果,而且在開始執行前就先規劃好。當兩個輸入會產出同一個檔名時(a.png 與 a.jpg 都會變成 a.png),第二個會加上後綴:否則這正是 ZIP 匯出悄悄少掉一個檔案的原因。
- 調整尺寸與品質,放在該放的位置。 維持原始尺寸、限制在指定方框內、依百分比縮放,或強制指定確切尺寸——而 JPEG/WebP 還能挑品質。產生的像素尺寸會先算出來,因此 30000×30000 的目標會連同數字一起被拒絕,而不是做到一半才失敗。
- 明確拒絕,勝過給你一個壞檔案。 TIFF、PSD、PDF、相機 RAW:沒有原生解碼器,所以工具會直接說出來並拒絕。HEIC 與 AVIF 則會嘗試解碼,因為 Safari 與較新的 Chromium 做得到——如果瀏覽器不行,你會拿到一個指名檔案的錯誤,而不是一塊黑色矩形。
全部都是本機處理:檔案以 File API 讀取、由瀏覽器解碼、畫到畫布上,再編碼回 Blob,最後由本機的 ZIP 寫入器打包。有兩個誠實的後果值得說清楚,而不是藏起來:經過畫布重新編碼會丟掉中繼資料(EXIF、GPS、ICC),這通常正是你分享照片前想要的結果,但這不是這個工具能保留的東西;而動態 GIF 會失去動畫,因為瀏覽器只解碼第一個影格。HEIC 與 AVIF 只要你的瀏覽器能解碼,位元組就會原樣保留——把它們編碼出去是另一件更重的工作,不在這個工具的範圍內。