BMP 转 PNG — 像素不变,体积只剩一小部分

把臃肿的 Windows 位图转成处处都能打开的无损 PNG。每个像素都和原来一模一样,文件也不会离开你的设备。

💎 无损📉 体积常小 90%🔒 100% 浏览器内完成✓ 免费且无限制

把 BMP 文件拖放到这里

或点击上传

最多 30 个文件,每个 20MB · 支持:BMP、DIB

💎

真正无损

PNG 保留位图的每一个像素。把两个文件并排打开,两者完全相同。

📉

体积常小 80–95%

BMP 通常不压缩存储。PNG 把同样的像素紧凑打包,每个结果都会显示具体省了多少。

🎮

洋红色变透明

画在纯洋红色背景上的精灵图和游戏素材,可以导出为真正的透明背景。

🔒

无需上传

位图在浏览器标签页内完成解码和编码,从不发送到服务器。

BMP 文件里装着什么

BMP 是 bitmap(位图)的缩写,是 Windows 从早期版本就开始使用的图片格式。它几乎是最简单的图片文件:先用一小段内容描述这张图,接着按顺序记录每个像素的颜色。

文件头、调色板、像素

BMP 以 14 字节的文件头开头,随后是记录宽度、高度和颜色深度的信息头。颜色数在 256 种及以内的图片,会再用一个调色板列出所用的颜色。之后才是像素,一行接一行,通常从图片最底下一行开始往上存。

位深

位深决定一个像素能表示多少种颜色。1 位位图只有黑白两色,4 位有 16 色,8 位有 256 色,24 位则能容纳 1670 万种颜色。32 位 BMP 多出第四个字节,有的程序用它存透明度,有的只把它当作填充。

BMP 为什么至今还在用

正因为格式简单,任何程序或设备都能轻松写出 BMP。老游戏、Windows 小工具、精灵图编辑器和嵌入式显示屏至今仍在生成它,所以 BMP 转 PNG 依然是很常见的需求。

14 B文件头40–124 B信息头≤ 1 KB调色板(8 位及以下)654321像素行,自下而上每行补齐到 4 字节
BMP 由文件头、可选的调色板和原始像素行组成,像素行通常从最底下一行开始存储。

BMP 文件为什么这么大

大多数 BMP 根本没有压缩。文件大小就是宽 × 高 × 每像素字节数,再加一点填充。

算一笔账

一张全高清截图是 1920 × 1080 像素。按 24 位计算,每个像素 3 字节,约合 6.2 MB,不管屏幕上显示的是复杂的照片还是一张白纸都一样。同一张截图存成 PNG,往往只有几百 KB。

行填充

每一行像素都会补齐到 4 字节的倍数。这对大图增加的体积很小,却能看出 BMP 存储图片有多“死板”:逐字节照搬,完全不考虑节省空间。

压缩的 BMP 存在,但很少见

这种格式确实允许 4 位和 8 位图片使用简单的游程编码压缩,对大面积纯色区域有效。但大多数程序都不用它,24 位位图更是根本无法使用。

把 BMP 转换成 PNG,可以在不改动任何像素的前提下去掉这些浪费,所以 PNG 往往比原文件小 80–95%。结果列表会显示每个文件具体省下了多少。

每像素字节数1bit2 种颜色1/88bit256 种颜色124bit1670 万种颜色332bit1670 万种颜色, 外加透明度4
位深决定了 BMP 能容纳多少种颜色,以及每个像素要占用多少字节。

3 步把 BMP 转 PNG

1

拖入 BMP 文件

把一个或多个 .bmp 文件拖到虚线框内,或点击选择文件。每个文件都在浏览器中读取,不会上传。

2

保持选择 PNG

PNG 是默认选项,而且是无损的。如果你的位图是画在纯洋红色背景上的精灵图,请勾选“将洋红色 (#FF00FF) 设为透明”。

3

下载 PNG 文件

点击文件旁的“下载”,或点击“下载全部 ZIP”。每个结果都会显示位图的位深,以及 PNG 小了多少。

tile1.bmptile2.bmptile3.bmp把 BMP 文件拖到这里
1

拖入一个或多个 BMP 文件。

保存为PNGJPG将洋红色 (#FF00FF) 设为透明
2

保持 PNG 不变;精灵图请打开洋红色选项。

tile1.png−92%tile2.png−94%下载全部 ZIP (2)
3

逐个下载 PNG,或打包成 ZIP 一次下载。

BMP 转 PNG 为什么是无损的

PNG 压缩时不会丢弃任何信息。它会寻找重复的内容,比如一整行相同的像素或反复出现的图案,然后只存一次。

像素不变,文件更小

BMP 转成 PNG 后,解码出来的像素与原始位图完全一致。颜色、边缘和文字都分毫不差,这对截图、界面原型和像素画尤其重要,因为哪怕改动一个像素都看得出来。

调色板位图仍是调色板图片

1 位、4 位和 8 位位图使用最多 256 色的调色板。本转换器同样把它们存为调色板 PNG,每像素 1 字节,而不是扩展成全彩图片,从而让 PNG 尽可能小。

32 位位图怎么办?

如果 32 位 BMP 声明了透明通道,并且你的浏览器能读取它,PNG 就会保留透明度。不过很多程序只把第四个字节写成普通填充,这种位图就是完全不透明的。

BMP:逐个写出每个像素BAE6FDBAE6FDBAE6FDBAE6FDBAE6FDBAE6FDFDE68AFDE68ABAE6FDBAE6FDPNG:重复内容只存一次6×2×2×同一张图,细节无损
BMP 把每个像素都完整写出;PNG 会记录重复和规律,所以同一张图占用的空间小得多。

洋红色背景:把 #FF00FF 变成真正的透明

来自游戏、模拟器和老式 Windows 工具栏的 BMP 文件,常常带着刺眼的粉紫色背景。这是有意为之:在支持透明的格式普及之前,开发者会把需要透出的区域涂成纯洋红色(一种美术作品里几乎不会用到的颜色),再让程序跳过它。

一键得到透明 PNG

勾选“将洋红色 (#FF00FF) 设为透明”,所有恰好是这个颜色的像素在 PNG 中都会变成透明。结果列表会统计改动了多少个像素,方便你确认是否生效。

只做精确匹配

只有纯 #FF00FF 会被替换。接近洋红色的颜色(比如抗锯齿边缘)保持不变,所以这个选项绝不会侵蚀图案本身。

也有少数游戏用其他颜色作透明色,比如纯绿或纯黑。本选项只处理最常见的洋红色,其他颜色建议在图片编辑器里去除。

洋红底的精灵图#FF00FF洋红色已变透明alpha = 0
画在纯洋红色背景上的精灵图,导出后会得到真正的透明背景。

BMP 与 PNG 一览对比

BMPPNG
压缩方式通常不压缩无损(Deflate 算法)
典型截图大小几 MB几百 KB
透明少见,支持程度不一完整的透明通道
浏览器和应用能否打开大多能打开,但网站很少接受处处可用
最适合简单程序和设备截图、图标、图形、网页

什么时候该把 BMP 转 PNG

只要图片里有锐利边缘、纯色块或文字,PNG 就是 BMP 最自然的替代格式。

适合转 PNG 的图片

  • 老版 Windows 工具生成的截图和软件窗口。
  • 图标、鼠标指针和像素画。
  • 示意图、图表和标志。
  • 精灵图和游戏贴图,必要时配合洋红色选项。

什么时候 JPG 更好

照片和扫描图片里有细微的噪点,无损压缩很难把它们压小。这类图片用 BMP 转 JPG 能得到小好几倍的文件,肉眼看不出差别。

有理由保留 BMP 的情况

有些设备、开机画面和单片机显示屏只接受 BMP 输入。这些场合请保留原文件,其他地方都用 PNG。

适合转换截图和软件窗口图标和像素画示意图和标志更适合转 JPG照片和扫描图片
截图、图标和示意图转成 PNG 后体积大幅缩小。照片更适合转成 JPG。

BMP 转 PNG 之后

想把 PNG 再压小一些,可以用 压缩 PNG 处理一遍。用于网站时,PNG 转 WebP 能得到更小的文件,并保留透明;调整图片尺寸 可以设定精确的尺寸。

如果是照片,请改用 BMP 转 JPG。其他所有格式组合都列在 图片转换器 中。

BMP 转 PNG 常见问题

免费,无需注册,也没有每日次数限制。转换在你的浏览器中完成。其他格式请使用 <a href="/zh-CN/image-converter">图片转换器</a>。

不会。PNG 是无损格式,转换后的图片与位图的像素完全相同。想进一步缩小体积,可以用 <a href="/zh-CN/compress-png">压缩 PNG</a>。

截图和图形通常能缩小 80–95%,照片会少一些。每个结果都会显示具体变化。照片用 <a href="/zh-CN/bmp-to-jpg">BMP 转 JPG</a> 能省下更多空间。

可以。勾选“将洋红色 (#FF00FF) 设为透明”,纯洋红色像素就会变成透明。用于网页时,<a href="/zh-CN/png-to-webp">PNG 转 WebP</a> 会保留这份透明。

不会。每个位图都在浏览器标签页内解码和保存,从不发送到服务器。<a href="/zh-CN/resize-image">调整图片尺寸</a> 也是如此。

可以。拖入一批文件后,可以逐个下载 PNG,也可以打包成一个 ZIP 下载。想把它们合成一个文档,请使用 <a href="/zh-CN/image-to-pdf">图片转 PDF</a>。

这个文件的扩展名是 .bmp,里面却是另一种格式。它照样会被转换,结果中也会注明这一点。其他扩展名标错的文件可以交给 <a href="/zh-CN/image-converter">图片转换器</a> 处理。

确认目标平台要求的尺寸:需要精确像素就用 <a href="/zh-CN/resize-image">调整图片尺寸</a>,有上传大小限制就用 <a href="/zh-CN/compress-image-to-200kb">压缩到 200KB</a>。

T

TinyImagePro 工程团队

我们打造从不上传你数据的浏览器端文件工具。这个转换器会自行读取每个位图的文件头,所以每个结果都会告诉你这个 BMP 的原始规格,以及它缩小了多少。

关于 TinyImagePro →