
把 JPG 轉成 PNG 實際在做什麼
把 JPG 轉成 PNG,意思是把照片重新編碼成無損格式,精確儲存每一個仍在的像素,不會再加上新的壓縮痕跡。轉換完全在你的瀏覽器裡用 HTML5 canvas 執行:JPG 被解碼、以原始寬度與高度畫回 canvas,再匯出成你可以下載的 PNG 檔。因為重繪是一對一、沒有縮放或重新取樣,來源的每一個像素都會忠實落入無損容器,準備好編輯,或交給要求 PNG 的工具。轉換無法發明原始 JPG 已經丟掉的細節,所以既有的壓縮痕跡仍看得見——但從這一刻起,檔案是無損的,可以一再儲存,而不會像 JPG 那樣把畫質損失疊加上去。裝置上的原始 JPG 不會被修改;你只是另外得到一份新的 PNG。
這兩種格式解決不同的問題,這也是轉換有用的原因。JPG(JPEG)是有損攝影格式,會丟掉眼睛很少注意到的細節來達到小檔案——很適合相機照片與快速載入的網頁。PNG 是無損格式,精確保住每一個像素、保留銳利邊緣與平面色塊,並能帶透明背景。當你的工作流程要求 PNG——拒絕 JPG 的設計工具、必須能放在任何顏色上的標誌、截圖管線、印刷素材,或任何你打算多次編輯再匯出的影像——你需要一次乾淨、忠實的轉換,而不是再來一輪有損壓縮。
如何在瀏覽器把 JPG 轉成 PNG
不裝任何東西、把 JPG 變成 PNG 最快的方法,是在你自己機器上本機解碼再重新編碼的用戶端轉換器。什麼都不上傳、不必建立帳號,也沒有上傳上限帶來的檔案大小上限。用 JPG to PNG converter 的確切步驟如下:
- 開啟工具並點選 Browse JPG files 來挑一張照片——若要一次批次轉換多張照片,按住對應的鍵,在檔案選擇器裡選多張 JPG。
- 瀏覽器會解碼每一張 JPG,並以檔案精確的原始寬度與高度重繪到 canvas。因為沒有縮放或重新取樣,來源的每一個像素都會忠實複製進新的 PNG。
- 稍等結果清單填入。每一張完成的 PNG 都會帶自己的下載連結。
- 點選每一個下載連結,把新的 PNG 檔存到你的裝置。原始 JPG 仍原封不動留在你挑檔的資料夾裡。
- 若你轉了一批,對每一筆結果重複下載步驟,或再挑一組新的 JPG 開始下一輪。
轉換以本機磁碟速度進行,這就是為什麼一整個資料夾的照片,會比同一批必須上傳、排隊、處理、再把檔案送回來的伺服器快得多。因為整份工作透過裝置上的 canvas API 執行,頁面一載入,即使沒有可用的上傳連線也能做。
JPG 與 PNG 一覽
下表彙整你決定要不要轉換時真正有關係的差異。這些是兩種格式的固定屬性,不是算出來的數值。
| 屬性 | JPG (JPEG) | PNG |
|---|---|---|
| 壓縮類型 | 有損——丟掉細節以縮小檔案 | 無損——精確儲存每一個像素 |
| 透明度支援 | 無 | 完整 alpha 通道 |
| 同一張照片的典型檔案大小 | 小 | 大上好幾倍 |
| 最適合 | 相機照片、快速載入的網頁影像 | 標誌、截圖、UI 圖形、編輯再匯出工作流程 |
| 再次儲存的畫質 | 每次都會變差(世代損失) | 無論再存幾次都維持相同 |
| 邊緣與平面色的銳利度 | 銳利邊緣周圍可能出現振鈴 | 像素級精確,無振鈴 |
| 瀏覽器支援 | 全面 | 全面 |
轉成 PNG 會提升影像畫質嗎?
不會——這也是關於 JPG 轉 PNG 最常見的誤解。轉成 PNG 讓檔案 從那一刻起變成無損,但無法還原細節,也無法去掉原始 JPG 已經丟掉的壓縮痕跡。你得到的是可以反覆編輯、再儲存、而不再損失畫質的格式。若來源 JPG 已經有模糊、塊狀邊緣,或漸層裡的色帶,轉換後的 PNG 會在同樣位置顯示同樣痕跡,因為轉換只是把已經在那裡的東西重新包裝。
這也是為什麼 JPG 轉 PNG 對之後的編輯是單向的畫質升級。每次你再存一份 JPG,編碼器都會再丟掉一點細節;經過幾次再存,照片會明顯比原圖更軟。相對地,PNG 可以隨你喜歡開啟、編輯、再儲存任意多次,像素在各次儲存之間保持位元級相同。這就是編輯者在開始任何重度編輯前,會把工作檔重新編碼成 PNG(或另一種無損格式)的實務原因。
為什麼新的 PNG 比 JPG 更大
PNG 是無損的,所以轉換後的 PNG 經常比它來自的 JPG 更大——那是像素級精確、可再壓縮品質的老實代價,不是轉換器的缺陷。JPG 利用人類視覺的限制把照片擠成小檔,然後把丟掉的細節永遠扔掉。PNG 精確儲存每一個像素,每個像素要花更多位元組,對雜訊多的攝影內容尤其如此。對典型照片來說,無損 PNG 往往比 JPG 大上好幾倍;確切比例取決於 JPG 已經丟掉多少細節,以及場景有多複雜。
若這個用途裡檔案大小比無損品質更重要——用電子郵件寄照片、上傳到論壇,或要壓進大小上限——繼續用 JPG 或重新編碼成 JPG 才是對的。image compressor 可以在不離開瀏覽器的情況下,把兩種格式再縮小。若你需要無損容器、但又想要較小的像素,image resizer 可以在轉換前或轉換後改尺寸。這些步驟之後的確切位元組數來自工具本身,不是固定規則。
透明度無法從 JPG 帶過來
JPG 無法儲存 alpha 通道,所以來源裡沒有可保留的透明度。產出的 PNG 完全不透明。若你需要真正透明的背景——例如必須能放在任何顏色上的標誌——單靠轉換給不了你。你必須在轉換後另外去除背景,用支援感知 alpha 遮罩的工具。之後需要時,再把平面色背景加回去。
兩點實務提醒。第一,不要指望只要存成 PNG,白色或任何顏色的背景就會消失。第二,若目標是透明度,請從已經有透明度的格式開始——PNG 本身、帶透明背景的截圖,或 SVG——而不是從 JPG 轉換。試圖從 JPG 抽出透明度是不可能的,因為這個格式根本沒有記錄要知道哪些像素是透明所需的資料。
什麼時候把 JPG 轉成 PNG 說得通
轉換在少數常見情境會劃算。當你依賴的工具拒絕 JPG、要求 PNG 時就用——許多設計應用程式、素材匯入器與印刷管線都是這樣。用於標誌、圖示,以及任何銳利邊緣與平面色比檔案大小更重要的 UI 圖形。當你打算多次編輯影像、並希望每次再存都相同時就用。用於文字與細線必須保持清晰的截圖與圖表。對高品質印刷工作,無損容器也有幫助——印刷時 PNG 與 JPG 的比較指南 會逐步說明印刷解析度下各格式的取捨。
當目標是盡可能小的檔案時,轉換 不劃算——那種情況你要的是 JPG,或用壓縮器再縮小。來源已經是 PNG、你需要 JPG 無法提供的透明度,或接收系統根本不接受 PNG 時,也不劃算。用電子郵件寄 JPG 幾乎總是比寄等價的 PNG 更省,因為 JPG 比較小,而且多數郵件用戶端對兩種格式一視同仁。
轉換之後:PNG 接下來怎麼用
PNG 到了裝置上之後,幾個瀏覽器工具可以在不上傳任何東西的情況下把工作接下去。用 image resizer 在把素材上傳到有大小限制的地方之前,改像素尺寸。若你想要較小的檔、但仍要留在 PNG,就用 image compressor——注意 PNG 上的壓縮不如 JPG 戲劇性,因為這個格式已經是無損的。要裁切、旋轉、翻轉或加邊框,其餘瀏覽器內影像工具可以本機編輯 PNG,再交回一份全新的完整解析度檔。
這些步驟全部在用戶端執行,所以工作流程從頭到尾都保持私密。原始 JPG 全程留在你的裝置上,轉換後的 PNG 直接下載到你的下載資料夾,伺服器上不會留下中間複本。這也是為什麼本機執行的轉換器適合敏感照片——檔案路徑是「你的磁碟 → 你的瀏覽器 → 你的磁碟」,中間沒有第三方。
若要更深入了解,見 在 Canva(或瀏覽器)把 SVG 轉成 JPG.