BMP 檔案裡裝了什麼
BMP 是 bitmap(點陣圖)的縮寫,是 Windows 從早期版本就開始使用的圖片格式。它幾乎是最簡單的圖片檔:先用一小段資料描述這張圖,接著依序列出每個像素的顏色。
檔頭、調色盤、像素
BMP 開頭是 14 位元組的檔案檔頭,接著是記錄寬度、高度與色彩深度的資訊檔頭。256 色以下的圖片隨後會在調色盤裡列出所用的顏色。再來才是像素,一列接一列,通常從圖片最底下那一列開始往上存。
位元深度
位元深度決定一個像素能表示多少種顏色。1 位元的點陣圖只有黑白兩色,4 位元有 16 色,8 位元有 256 色,24 位元則可容納 1670 萬色。32 位元的 BMP 多了第四個位元組,有些程式拿它來存透明度,有些則只當作填充。
BMP 為什麼還沒消失
正因為結構簡單,任何程式或裝置都能輕鬆寫出 BMP。老遊戲、Windows 小工具、精靈圖編輯器和嵌入式顯示器至今仍會產生這種檔案,所以 BMP 轉 PNG 依然是很常見的需求。
BMP 檔案為什麼這麼大
大多數 BMP 完全沒有壓縮。檔案大小就是寬 × 高 × 每像素位元組數,再加上一點填充。
算一算就知道
一張 Full HD 螢幕截圖是 1920 × 1080 像素。24 位元時每個像素占 3 個位元組,總共約 6.2 MB,不管畫面上是繁雜的照片還是一片空白頁都一樣。同一張截圖存成 PNG,往往只有幾百 KB。
每列的填充
每一列像素都會補齊到 4 位元組的倍數。這對大圖的影響不大,卻說明了 BMP 儲存圖片有多「照本宣科」:逐個位元組照存,完全不打算節省空間。
壓縮過的 BMP 存在,但很少見
這個格式確實允許 4 位元與 8 位元圖片使用簡單的行程長度壓縮,對大面積的單色區域有幫助。但大多數程式都不用,24 位元點陣圖更是根本無法使用。
把 BMP 轉 PNG 能在不動任何一個像素的前提下去除這些浪費,所以 PNG 常常小了 80–95%。結果清單會顯示每個檔案實際省下多少。
3 個步驟把 BMP 轉 PNG
放入 BMP 檔案
把一個或多個 .bmp 檔案拖到虛線框中,或點擊選擇檔案。每個檔案都在你的瀏覽器中讀取,不會上傳任何東西。
保持選取 PNG
PNG 是預設選項,而且是無損格式。如果你的點陣圖是畫在純洋紅色上的精靈圖,請勾選「將洋紅色(#FF00FF)設為透明」。
下載 PNG 檔案
點擊檔案旁的「下載」,或點擊「下載全部 ZIP」。每筆結果都會顯示點陣圖的位元深度,以及 PNG 小了多少。
放入一個或多個 BMP 檔案。
保留 PNG;精靈圖請開啟洋紅色選項。
逐一下載 PNG,或打包成 ZIP 全部下載。
BMP 轉 PNG 是無損的——原因在這裡
PNG 壓縮時不會丟掉任何東西。它會找出重複的部分,例如一整列相同的像素或反覆出現的圖樣,然後只存一次。
像素相同,檔案更小
BMP 轉成 PNG 後,解碼出來的像素和原始點陣圖完全相同。顏色、邊緣和文字都一模一樣,這對螢幕截圖、介面草圖和像素畫特別重要,因為只要改動一個像素就看得出來。
調色盤點陣圖仍是調色盤圖片
1、4、8 位元的點陣圖使用最多 256 色的調色盤。這個轉換器也會把它們存成調色盤 PNG,每個像素只占一個位元組,而不是擴展成全彩。這樣 PNG 就能維持在最小的體積。
那 32 位元點陣圖呢?
如果 32 位元的 BMP 宣告了透明通道,且你的瀏覽器能讀取,PNG 就會保留透明度。不過很多程式只把第四個位元組當作單純的填充,這時點陣圖就是不透明的。
洋紅色背景:把 #FF00FF 變成真正的透明
來自遊戲、模擬器和舊版 Windows 工具列的 BMP 檔案,常常帶著刺眼的粉紅色背景。這是刻意的:在支援透明的格式普及之前,開發者會把需要透出的區域塗成純洋紅色——一種美術作品幾乎不會用到的顏色——再讓程式略過它。
一鍵得到透明 PNG
勾選「將洋紅色(#FF00FF)設為透明」,所有剛好是這個顏色的像素在 PNG 中都會變成透明。結果清單會統計改動了多少像素,讓你確認有成功。
只比對完全相同的顏色
只有純 #FF00FF 會被替換。接近洋紅色的色調,例如反鋸齒的邊緣,都會保持原樣,所以這個選項絕不會吃掉作品本身。
少數遊戲用的是其他透明色,例如純綠或純黑。這個選項只處理最常見的洋紅色;其他透明色建議用影像編輯軟體去除。
BMP 與 PNG 一覽比較
| BMP | PNG | |
|---|---|---|
| 壓縮方式 | 通常沒有 | 無損(Deflate) |
| 一般螢幕截圖大小 | 好幾 MB | 幾百 KB |
| 透明度 | 少見,支援程度不一 | 完整的 alpha 通道 |
| 瀏覽器與應用程式能否開啟 | 大多可以,但網站很少接受 | 到處都行 |
| 最適合 | 簡單的程式與裝置 | 螢幕截圖、圖示、圖形、網頁 |
什麼時候適合 BMP 轉 PNG
只要圖片有銳利的邊緣、大片單色或文字,PNG 就是 BMP 最自然的替代格式。
最適合存成 PNG
- 舊版 Windows 工具的螢幕截圖與程式視窗。
- 圖示、游標與像素畫。
- 圖表、統計圖與標誌。
- 精靈圖集與遊戲材質,必要時搭配洋紅色選項。
什麼時候 JPG 更好
照片與掃描圖片含有細微的雜訊,無損壓縮很難把它們縮小多少。這類圖片用 BMP 轉 JPG,檔案能小好幾倍,肉眼卻看不出差別。
有理由保留 BMP 的情況
有些裝置、開機畫面和微控制器顯示器只接受 BMP。這些場合請保留原檔,其他地方一律使用 PNG。
BMP 轉 PNG 之後
想讓 PNG 再小一點,可以用 壓縮 PNG。用在網站上的話,PNG 轉 WebP 能在保留透明度的同時得到更小的檔案;調整圖片尺寸 則能設定精確的尺寸。