UltKit

PNG 轉 BMP 轉換器

有些軟體至今仍只讀得懂點陣圖:舊版 Windows 程式、安裝程式製作工具,以及小型微控制器板上的顯示函式庫。把 PNG 轉成它們接受的無壓縮 BMP,並自行決定透明部分要填入什麼顏色。

圖片轉換器

或將JPG, JPEG, JPE … 檔案拖曳到這裡 ·

每個檔案最大 95 MB· 最多 20 個檔案· 30 分鐘後刪除

輸出

檔案會在我們的伺服器上處理,並於 30 分鐘後刪除。

使用方式

  1. 1

    拖入 PNG 檔案

    從電腦上傳,或貼上複製的圖片,一次最多可加入 20 個 PNG,每個檔案不超過 95 MB。

  2. 2

    選擇背景顏色

    這裡輸出的 BMP 不支援透明,所以透明區域預設為白色。你可以在進階設定中選擇黑色或自訂顏色,配合這張點陣圖所在的畫面或對話方塊。

  3. 3

    按下「轉換為 BMP」

    可逐一下載 .bmp 檔案,也可下載單一 ZIP。上傳的檔案與轉換結果會在 30 分鐘後刪除。

軟體要求點陣圖時,就把 PNG 轉成 BMP:像素維持不變,透明區域變成純色,檔案則因 BMP 未壓縮而變大。

哪些人還需要把 PNG 轉成 BMP

BMP 是 Microsoft 的點陣圖格式,現行的結構可追溯到 1990 年的 Windows 3.0。它在 54 位元組的標頭之後幾乎就是原始像素,程式不需要解碼函式庫就能讀取。正因如此簡單,它才得以留存在從未加入 PNG 支援的地方。

安裝程式製作工具就是常見的例子:例如 NSIS 的 Modern UI 精靈,標頭與歡迎畫面圖片都要求 .bmp 檔案。較舊的 Visual Basic 與 Win32 程式,則透過讀取點陣圖的 Windows 函式載入啟動畫面和工具列圖片。使用小型 TFT 或電子紙螢幕的微控制器專案,會從 SD 卡讀取 24 位元 BMP,因為解碼 PNG 需要的記憶體是開發板所沒有的。

如果目的地需要的是 Windows 圖示而不是點陣圖,請改用 PNG 轉 ICO;圖示會保留透明度,還能在一個檔案內包含多種尺寸。

BMP 檔案有多大:無壓縮時的檔案大小

6.2 MB一張 1920 × 1080 的圖片存成 24 位元 BMP 的大小,不論畫面多簡單

1920 × 1080 像素 × 3 位元組 = 6,220,800 位元組,再加上 54 位元組的標頭。帶 alpha 的 32 位元 BMP 每像素需要 4 位元組,同一張圖片約為 8.3 MB。

PNG

Portable Network Graphics

PNG 是 1996 年由 PNG Development Group 發布的無損點陣圖格式,後來由 W3C 與 ISO 納入標準。它會完整保留每一個像素,支援完整的 Alpha 透明度,處理文字、銳利邊緣和純色區塊時不會產生瑕疵。這樣的精確度使它非常適合螢幕截圖、標誌、圖示和介面圖形。代價是檔案大小:存成 PNG 的相片,往往比同一張相片存成 JPEG 或 WebP 大上好幾倍。所有瀏覽器、作業系統和編輯軟體都能開啟 PNG 檔案。

壓縮方式
無損
透明度
支援
動畫
不支援
推出年份
1996 · PNG Development Group
PNG 轉檔工具

BMP

點陣圖

BMP 是 Microsoft 與裝置無關的點陣圖格式,自 Windows 早期版本起即為原生格式。它通常以未壓縮方式儲存像素,因此畫質完美,但與 PNG 或 JPEG 相比檔案非常大。新版 BMP 可包含 Alpha 色版,但許多程式會忽略。此格式讀寫簡單,因此仍存在於舊軟體、嵌入式系統與部分工業工具中。Windows、macOS 與幾乎所有影像編輯軟體都能開啟 BMP。

壓縮方式
無損
透明度
支援
動畫
不支援
推出年份
Microsoft
BMP 轉檔工具

人們把 PNG 轉成 BMP,是因為特定程式、安裝程式或嵌入式螢幕只能讀取單純的 Windows 點陣圖;沒有人是為了檔案大小或品質才選 BMP,反向轉換則是為了再次縮小這些點陣圖。

BMP 與 PNG 比較:得與失

BMP 的優點

  • 不需要任何解壓縮函式庫即可讀取
  • 像素值與 PNG 完全相同
  • 舊版 Windows API 與安裝程式都能接受
  • 大小可預測:寬 × 高 × 每像素位元組數

你要付出的代價

  • 檔案比 PNG 大上許多倍
  • 透明度被純色取代
  • 多數讀取程式不支援文字中繼資料或色彩設定檔
  • 許多要求 JPG 或 PNG 的上傳表單會拒絕

以正確尺寸與背景將 PNG 轉成 BMP

BMP 以原始列資料儲存,所以尺寸比壓縮更重要。請將調整輸出圖片尺寸設為目標所需的確切尺寸,例如 NSIS 歡迎圖片的 164 × 314 px,或螢幕的原生解析度,這樣程式就不會拉伸或裁掉圖片。

遇到透明的標誌,請選擇這張點陣圖所在的背景色。淺灰色的對話方塊搭配純白方塊看起來會很突兀,所以請在自訂顏色中輸入確切的十六進位色碼。要為韌體專案轉換整個資料夾嗎?一次可處理 20 個檔案,需要較輕的副本時,再用 BMP 轉 PNG 轉回來。

PNG 轉 BMP 常見問題

為什麼 BMP 檔案比 PNG 大這麼多?

標準 BMP 以未壓縮方式儲存每個像素:24 位元時每像素 3 位元組,每一列還會補齊為 4 位元組的倍數。PNG 則用 Deflate 壓縮相同的像素,所以色塊單純的圖形會縮小很多。PNG 只有 20 KB 的標誌,轉成 BMP 後變成數百 KB 很常見,這是正常現象。

PNG 轉 BMP 會損失畫質嗎?

不會更動任何像素。兩種格式都是無失真,24 位元 BMP 的每個色版也和一般 PNG 一樣是 8 位元。唯一改變的是透明度,會以你選擇的背景色取代。

BMP 檔案可以有透明背景嗎?

此格式雖然允許帶有 alpha 色版的 32 位元版本,但小畫家、大多數 Windows API 以及幾乎所有要求 BMP 的程式都會忽略它,顯示成黑色或亂碼。因此本轉換器會把透明部分合成到你選擇的純色上。

Arduino 或 ESP32 顯示器需要哪種 BMP 格式?

多數顯示函式庫(包括 Adafruit 用於 TFT 螢幕的 ImageReader)都能從 SD 卡載入未壓縮的 24 位元 BMP,這正是本轉換器輸出的格式。請先用調整輸出圖片尺寸把圖片調整為螢幕的確切解析度,例如 320 × 240 px,因為開發板無法自行縮放。

BMP 和 DIB 有什麼差別?

DIB 是裝置獨立點陣圖(device-independent bitmap)的縮寫,是 Windows 自 3.0 版起使用的記憶體內配置。.bmp 檔案其實就是在 DIB 前面加上 14 位元組的檔案標頭,所以要求 DIB 或 .dib 檔的程式也能接受 BMP。

網站或電子郵件適合用 BMP 嗎?

不需要。瀏覽器可以顯示 BMP,但檔案比 PNG 或 JPG 大上許多倍,畫面卻沒有任何提升。BMP 只留給需要它的程式使用,其他地方請用 PNG 轉 JPG 或直接使用原本的 PNG。

將其他檔案轉成 BMP
JPG 轉 BMPWebP 轉 BMPPDF 轉 BMP
BMP 轉 PNGPNG 轉 ICO圖片格式轉換