PNG转BMP在线转换
有些软件至今只认位图:旧版Windows程序、安装包制作工具,以及小型单片机开发板上的显示库。把PNG转换为它们能读取的无压缩BMP,并自行决定透明部分用什么颜色填充。
图片格式转换
或将JPG, JPEG, JPE … 文件拖放到此处 ·
单个文件最大 95 MB· 最多 20 个文件· 30 分钟后删除
文件在我们的服务器上处理,并在 30 分钟后删除。
85 可使照片在视觉上与原图无差别。只有在需要更小的文件时才调低。
JPG、BMP 和 EPS 不支持透明。透明像素会用此颜色填充。
用于透明像素底色的十六进制颜色,例如 #FFFFFF。
此格式只能保存单张图像。如需保留动画,请选择输出 GIF 或 WebP。
多尺寸图标在一个文件中包含多种分辨率,浏览器和操作系统会选用所需的尺寸。
保持原始尺寸,或输入一边的数值,自动保持宽高比。
上面所选边的像素值。
相对于原始尺寸的百分比。
屏幕和网页使用 sRGB 即可。印刷流程请保持原样;灰度会丢弃颜色。
仅写入元数据,0 表示保留原值。打印机和部分网站会读取此数值,它不会改变像素尺寸。
使用方法
- 1
拖入PNG文件
从电脑上传,或粘贴复制的图片,一次最多添加 20 张 PNG,每张不超过 95 MB。
- 2
选择背景色
这里输出的 BMP 不支持透明,所以透明区域默认为白色。可在高级设置中选择黑色或自定义颜色,使其与位图所在的界面或对话框底色一致。
- 3
点击“转换为 BMP”
可逐个下载 .bmp 文件,也可下载单个 ZIP。上传的文件和转换结果会在 30 分钟后删除。
软件要求位图时,可把 PNG 转成 BMP:像素保持不变,透明部分变为纯色,文件会变大,因为 BMP 不压缩。
哪些场景仍需要把PNG转换为BMP
BMP 是微软的位图格式,现在的结构可追溯到 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 的大小,无论画面多简单
PNG
便携式网络图形(PNG)
PNG 是 PNG 开发组于 1996 年发布的无损位图格式,后来由 W3C 和 ISO 标准化。它精确保留每个像素,支持完整的 Alpha 透明度,处理文字、锐利边缘和纯色块时不会产生伪影。这种精确度使它非常适合截图、徽标、图标和界面图形。代价是体积:保存为 PNG 的照片往往比同一张照片的 JPEG 或 WebP 大好几倍。所有浏览器、操作系统和编辑器都能打开 PNG 文件。
- 压缩方式
- 无损
- 透明度
- 支持
- 动画
- 不支持
- 发布年份
- 1996 · PNG Development Group
BMP
位图图像
BMP 是微软的设备无关位图格式,自 Windows 早期版本起就是其原生格式。它通常以无压缩方式保存像素,因此画质完美,但文件比 PNG 或 JPEG 大得多。较新的 BMP 版本可以包含 Alpha 通道,但许多程序会忽略它。该格式读写简单,因此在旧软件、嵌入式系统和一些工业工具中仍在使用。Windows、macOS 和几乎所有图像编辑器都能打开 BMP 文件。
- 压缩方式
- 无损
- 透明度
- 支持
- 动画
- 不支持
- 发布年份
- Microsoft
人们把 PNG 转成 BMP,是因为某个程序、安装包或嵌入式显示屏只能读取普通的 Windows 位图;没有人会为了体积或画质选择 BMP,反方向的转换则是为了再次缩小这些位图。
BMP与PNG对比:得与失
BMP 的优点
- 无需任何解压库即可读取
- 像素值与 PNG 完全一致
- 老式 Windows API 和安装程序都能接受
- 大小可预测:宽 × 高 × 每像素字节数
需要放弃的
- 文件比 PNG 大许多倍
- 透明被替换为纯色
- 多数读取程序不支持文本元数据和色彩配置文件
- 许多要求 JPG 或 PNG 的上传表单不接受
PNG转BMP:设置合适的尺寸和背景
BMP 按原始行存储,所以尺寸比压缩更重要。请把调整输出图片尺寸设为目标所需的精确尺寸,例如 NSIS 欢迎图的 164 × 314 px,或显示屏的原生分辨率,这样程序就不会拉伸或裁切图片。
对于透明的 Logo,请选择位图所在位置的背景色。浅灰色的对话框配上纯白方块会很难看,所以请在自定义颜色中输入准确的十六进制值。要为固件项目转换整个文件夹?每次可一次处理 20 个文件,需要体积更小的副本时,可用 BMP转PNG 转回去。
PNG转BMP常见问题
为什么BMP比PNG大这么多?
标准 BMP 不压缩,每个像素都原样存储:24 位色下每像素 3 字节,并通过填充让每一行的字节数是 4 的倍数。PNG 用 Deflate 压缩同样的像素,色块单一的图形能缩小很多。一个 PNG 只有 20 KB 的 Logo,保存为 BMP 后很容易达到几百 KB,这是正常现象。
PNG转BMP会损失画质吗?
不会改变任何像素。两种格式都是无损的,24 位 BMP 每个通道同样是 8 位,与常见的 PNG 一致。唯一变化的是透明度,它会被你选择的背景色取代。
BMP文件可以有透明背景吗?
BMP 格式本身允许带 Alpha 通道的 32 位版本,但画图、大多数 Windows API 以及几乎所有要求 BMP 的程序都会忽略它,显示成黑色或乱码。因此转换器会把透明部分铺到你选定的纯色上。
Arduino或ESP32显示屏需要哪种BMP格式?
大多数显示库都能从 SD 卡读取未压缩的 24 位 BMP 文件,比如用于 TFT 屏幕的 Adafruit ImageReader,而这正是本转换器输出的格式。由于开发板无法缩放图片,请先用调整输出图片尺寸把图片改成屏幕的实际分辨率,例如 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。