PNG 轉 BMP 轉換器
將可攜式網路圖形轉換為 Windows Bitmap,可將壓縮的點陣資料轉換為未壓縮的像素網格,以相容於舊版作業系統與硬體管線。
格式比較與技術規格
| 規格 | PNG | BMP |
|---|---|---|
| MIME 類型 | image/ | image/ |
| 類型 | 點陣圖 | 點陣圖 |
| 壓縮 | 無損(DEFLATE / LZ77 + Huffman) | 未壓縮 / RLE |
| 標準規格 | W3C PNG 3rd Edition | Microsoft Windows Bitmap Header |
| 檔案簽章(magic bytes)標頭 | 89 50 4E 47 0D 0A 1A 0A | 42 4D (BM) |
格式概述與應用
在處理舊版軟體、嵌入式系統或舊版 Windows API 時,通常需要將可攜式網路圖形檔案轉換為 Windows Bitmap 檔案。雖然 PNG 因檔案小而成為網頁圖形的標準,但某些較舊的圖片編輯器、遊戲引擎和工業硬體控制器無法讀取壓縮格式,它們需要點陣圖單純直觀的像素配置。軟體開發人員與硬體工程師經常使用這種轉換,將原始像素資料直接傳送至畫面緩衝區或材質記憶體,而不需要浪費處理器週期進行解壓縮。由於點陣圖以可預測的網格儲存色彩數值,載入常式只需要極少的程式碼複雜度,這有助於嵌入式處理器執行得更快。
技術規格與編解碼器解析
來源格式使用 MIME 類型 image/png,並以 magic bytes 簽章 89 50 4E 47 0D 0A 1A 0A 開頭。它依賴 DEFLATE 演算法,結合 LZ77 字典對應與霍夫曼編碼(Huffman coding)來達到無損壓縮。目標格式使用 MIME 類型 image/bmp,並以 magic bytes 42 4D 開頭。Windows Bitmap 容器完全不壓縮,或是使用簡單的行程長度編碼(Run Length Encoding)。它會逐行儲存像素資料,通常由下到上,並伴隨記載圖片尺寸、色彩深度與位元遮罩的固定標頭。
作業系統與瀏覽器相容性
Windows Bitmap 檔案在所有版本的 Microsoft Windows 作業系統、MS-DOS 環境以及基礎圖形函式庫中都享有原生支援。現代網頁瀏覽器可以算繪點陣圖檔案,但由於頻寬效率差,網頁開發人員很少使用它們。諸如 iOS 與 Android 等行動作業系統在原生圖片檢視器中支援此格式,不過第三方應用程式通常需要手動轉換回 PNG 或 JPEG,以獲得最佳的記憶體管理。
實用資訊
在轉換之前,務必確認來源圖片的色彩深度。如果以 24 位元或 32 位元色彩模式儲存且未經壓縮,Windows Bitmap 檔案會產生巨大的檔案大小,因此當需要最大相容性與較小的檔案大小時,請使用 8 位元的調色盤點陣圖。
常見問題
如何在不失真的情況下將 PNG 轉換為 Windows Bitmap?
這兩種格式都使用無損儲存來處理色彩資料。因為 PNG 使用 DEFLATE 壓縮,而 BMP 通常儲存未壓縮的原始像素值,所以在它們之間轉換不會遺失任何像素資料。視覺品質保持不變,儘管檔案大小顯著增加。
PNG 與 Windows Bitmap 有什麼區別?
PNG 是一種現代的壓縮點陣圖格式,使用資料區塊來有效儲存圖片資料、中繼資料與透明度色頻。Windows Bitmap 是一種傳統容器結構,以線性方式儲存原始像素陣列且附加負荷極小,因而導致檔案大小大得多。