跳到主要内容

BMP to PNG

在浏览器中将 BMP 转为 PNG,文件无需上传

文件在本地处理,无需上传

输出说明BMP → PNG

转换后的图片将在这里显示

转换结果直接下载到你的设备

如何将BMP转为PNG

选择一份BMP,点击转换,检查实际结果后下载。本页按解码尺寸输出一张静态图片。预览棋盘格表示透明区域,不会写入PNG;没有去背景、尺寸设置、扫描文件夹或批量ZIP。

PNG可以保存透明度,但换文件名或格式并不能决定图片哪部分是背景。需要保留原编码、配置文件或其他软件解释时保留BMP,并在实际使用软件中检查结果。

PNG扩展名不会自动去除背景

2026年10月29日,我们编写两份120×80 BMP,像素数组相同,均为红色且第4字节分成0、64、128、255四档。普通40字节头BI_RGB文件导出454字节PNG,全部不透明,红色背景没有被去除。

另一份使用108字节V4头、明确的RGB及Alpha掩码和BI_BITFIELDS,实际PNG为475字节,保留四档透明度。这是两种BMP表示的区别,不是本次新增开关,原浏览器解码已支持两者。完全透明像素隐藏RGB在画布输出中变为0,因此不承诺保留所有隐藏源字节。

PNG扩展名不会自动去除背景
2026-10-29原创合成BMP;实际PNG下载放大显示,一种浏览器;非竞品实测。

倒序存储不等于图片应该倒着看

我们还生成两份5×3、24位BMP,设计网格相同。一份高度为正、底行先存,另一份高度为负、顶行先存。每行15字节颜色后有1字节填充;两份PNG均为144字节、字节完全相同,朝向一致。

填充用于存储对齐,不是需要显示的额外列。故意设为非零的填充字节未变成边缘像素;另一个相同配色网格的8位调色板BMP也导出同一PNG。这只是行序和调色板对照,不是自动旋转新功能,也不保证所有BMP压缩模式。

倒序存储不等于图片应该倒着看
2026-10-29原创合成BMP;实际PNG下载放大显示,一种浏览器;非竞品实测。

PNG并不保证更小

两份321×193、24位未压缩BMP均为186,106字节。四色块图变为2,210字节PNG;单独按固定随机种子生成的噪声图则变为213,573字节PNG,比原BMP大;两者仍为321×193。下载文件明确对应这两个相反结果。

这是一种浏览器里的两份合成内容,不是压缩排名或对照片节省比例的预测。像素排列、编码器选择和封装开销都会影响体积。本页无PNG质量或压缩滑块;体积不是恢复细节的指标,替换归档前请确认需保留的内容。

PNG并不保证更小
2026-10-29原创合成BMP;实际PNG下载放大显示,一种浏览器;非竞品实测。

这些测试能说明什么

八个有效输入覆盖24位行、顶行先存、8位调色板、16位RGB565掩码、普通32位RGB及V4透明度。单独RGB565输入输出5×3、115字节PNG。四份错误控制分别是像素截断、头部不完整、PNG改后缀以及4097像素宽BMP,均被拒绝且无结果下载。

既有限制为一份20 MB以内文件、单边最多4096像素、合计1600万像素。转换使用浏览器位图解码及画布PNG输出;未测试RLE、BMP内嵌JPEG/PNG、校准或嵌入色彩配置、打印、其他浏览器、实体手机或竞品。PNG无损存储不等于保留BMP封装和元数据。

下载原始BMP与实际PNG

八组输入输出尺寸、字节数及完整SHA-256见验证清单。哈希标识确切文件,不是质量评分。

输入BMP实际PNG输出尺寸
odd-bottom-up.bmp

5 × 3 · 102 bytes

odd-bottom-up.png

144 bytes

5 × 3
odd-top-down.bmp

5 × 3 · 102 bytes

odd-top-down.png

144 bytes

5 × 3
palette-8bit.bmp

5 × 3 · 94 bytes

palette-8bit.png

144 bytes

5 × 3
rgb32-reserved.bmp

120 × 80 · 38,454 bytes

rgb32-reserved.png

454 bytes

120 × 80
v4-alpha.bmp

120 × 80 · 38,522 bytes

v4-alpha.png

475 bytes

120 × 80
rgb565.bmp

5 × 3 · 102 bytes

rgb565.png

115 bytes

5 × 3
flat-color.bmp

321 × 193 · 186,106 bytes

flat-color.png

2,210 bytes

321 × 193
seeded-noise.bmp

321 × 193 · 186,106 bytes

seeded-noise.png

213,573 bytes

321 × 193

verification.json · input-manifest.json · SHA256SUMS.txt · generate-fixtures.py · REPRODUCE.md · truncated.bmp · bad-header.bmp · renamed-png.bmp · too-wide.bmp ·

Microsoft: V4 color and alpha masks · Microsoft: row order and stride

常见问题

为什么PNG背景还在?

不透明源像素仍是图案的一部分。本工具不选择背景颜色或移除对象,请检查实际输出后再决定是否替代来源。

BMP能含透明度吗?

某些BMP表示可以。我们的V4透明掩码样本保留透明,而相同像素数组的普通BI_RGB样本不透明;只看32位标签不足以判断。

BMP底行先存会翻转PNG吗?

配对正负高度样本导出相同正向PNG。行存储次序与显示方向不同,本次未新增旋转控件。

PNG一定更省空间吗?

不一定。186,106字节的色块图变为2,210字节,而同尺寸噪声BMP变为213,573字节。这些是确切样本,不是保证比例。

这里能转换整个文件夹吗?

本页一次转换一份BMP并生成一张PNG,没有递归扫描文件夹、批量转换或合并ZIP。检查结果前请保留原文件。