离线 · 无上传 · 浏览器本地完成Offline · no uploads · runs in the browser
BMP 转 PNG——本地无损重编码,体积通常大幅下降BMP to PNG locally — a lossless re-encode that shrinks
BMP 是"把像素一行行铺开"的格式,几乎没有压缩,所以 Windows 里随手存出的 .bmp 常常大得离谱。转 PNG 的意义主要是体积:同一张图通常小一个数量级,而且两者都无损,画面上没有任何东西被牺牲。这是一条"换个容器、内容不变"的转换——所以下面的丢弃项很短,主要写的都是边界。BMP is a format that lays pixels out row by row with almost no compression, which is why a casual .bmp save on Windows is often absurdly large. The point of PNG is size: the same picture usually drops by an order of magnitude, and since both containers are lossless nothing on screen is sacrificed. That makes this a change-of-container conversion — which is why the limits below are short and mostly about edges.
这条链路怎么走How the route runs
BMPBMP PNGPNG
共 1 步,由扩展的路径搜索自动选出,中间产物不落盘。1 step, chosen by the extension's own path search; intermediate results never touch the disk.
会保留什么What carries over
- 全部像素与尺寸:解码成 RGBA 后无损编码为 PNG,不做二次有损Every pixel and the full dimensions: decoded into RGBA and encoded losslessly, with no lossy pass anywhere on the route
- 32 位 BMP 带的 Alpha:PNG 有真正的透明通道,能把它带走(JPEG 就不能)The alpha channel in a 32-bit BMP: PNG has real transparency to hold it (JPEG does not)
- 调色板 BMP 的观感:8 位索引色在解码时展开成 RGBA,看到的颜色不变How a palette BMP looks: 8-bit indexed colour is expanded to RGBA during decode, so the colours you see do not change
- 像素超过画布上限(一边 8192 px)时等比缩到可承受,而不是裁切Images past the canvas limit (8192 px on an edge) scale down proportionally instead of being cropped
- 最长边与目标体积输出参数在终点编码生效;一批最多 200 张、单个文件 100 MB 上限Longest-edge and target-size parameters apply at the final encode; up to 200 images per batch with a 100 MB per-file ceiling
如实说明的限制What it does not do
- BMP 里的元信息不进 PNG:文件名之外的创建时间、设备相关位图头之类不保留(PNG 本来也没有这些字段)BMP metadata does not enter PNG: beyond the file name, creation timestamps and device-dependent bitmap headers are not carried (PNG has no such fields either)
- 方向不可逆:浏览器不提供 BMP 编码器,所以 PNG → BMP 在这条产品线上不存在;同一张图可写的目标只有 PNG、JPEG 与 WebPThe direction is one-way: a browser offers no BMP encoder, so PNG → BMP does not exist on this product line. The writable image targets are PNG, JPEG and WebP only
- 位深不"原样保留",而是统一经过一次 RGBA 画布:源是 1 / 4 / 8 / 24 位都一样能转,但产物是 8 位每通道的 RGBABit depth is not preserved verbatim but passes through one RGBA canvas: 1-, 4-, 8- and 24-bit sources all convert, and the result is 8 bits per channel either way
- 非常规变体(截断、错误的行对齐、某些 RLE 压缩的 BMP)可能解码结果为空尺寸,那时按解码失败报错而不是给一张坏图Unusual variants — truncated files, wrong row padding, some RLE-compressed BMPs — can decode to zero size, and that reports a decode failure rather than producing a broken image
- ICM / 色彩标记这类 BMP 尾部附加字段不参与解码,色彩按 sRGB 观感呈现Trailing BMP fields such as ICC profiles and colour marks take no part in decoding, so colour reads out in sRGB
实操提示Working with it
- 同一张 BMP 还能转 JPEG 与 WebP:要"到处能开"选 JPEG,要更小且接收方支持选 WebP,要透明或无损选 PNGThe same BMP can go to JPEG or WebP: JPEG where it must open anywhere, WebP for smaller where the recipient supports it, PNG for transparency or losslessness
- BMP 截图常见于 Windows 旧工具与某些硬件导出;如果只是想删掉重复帧,这里没有可删的——它本来就是单帧BMP screenshots come from older Windows tools and some hardware exports; there are no duplicate frames to trim here — it was a single frame to begin with
- 一批可以混来源格式:BMP 与 PNG、JPEG 一起丢进来,统一出一个目标A batch can mix sources: drop BMP alongside PNG and JPEG and convert everything to one target
常见问题Questions people actually ask
BMP 转 PNG 会掉画质吗?Does BMP to PNG cost any quality?
不掉。两者都是无损容器,这一步只是换压缩方式,像素值不变。真要说什么变了,是内部表示:源不管几位色,产物都是 8 位每通道的 RGBA。No. Both containers are lossless, so the swap changes only the compression, not a single pixel value. If anything changes, it is the internal representation: whatever depth the source was, the result is 8 bits per channel RGBA.
为什么我的 .bmp 打不开?Why will my .bmp not open?
这条路径只走浏览器自带的解码器,所以支持面由浏览器决定:常见的 24 / 32 位未压缩 BMP 没问题,罕见的 RLE 或位场压缩变体可能解码为空——那种情况会明确报解码失败,而不是给你一个坏文件。This route uses the browser’s own decoder, so the browser sets the support surface: ordinary uncompressed 24- and 32-bit BMPs are fine, while rare RLE or bitfield-compressed variants may decode to zero size — and that is reported as a decode failure rather than a corrupt file handed to you.
转完能再转回 BMP 吗?Can I convert it back to BMP afterwards?
不能,在这个扩展里不能。浏览器不提供 BMP 编码器,这是格式族的硬边界而不是本项目偷懒:需要 .bmp 时请用图像编辑器或系统自带工具做最后一步。Not inside this extension. A browser ships no BMP encoder, which is a boundary of the format family rather than a shortcut we took: when a .bmp is genuinely required, do that last step in an image editor or a system tool.
不需要账号,也不需要联网:装好扩展后点图标,在新标签页里打开工作台,文件从磁盘直接选。No account and no network: install the extension, click its icon, and the workbench opens in a new tab reading straight off your disk.
从 Chrome 应用商店安装Install from the Chrome Web Store 安装步骤Install steps GitHub 源码Source on GitHub
要把它压到指定体积?Need it under a target size? The 图片压缩工具image compressor可以在浏览器里重编码 PNG / JPEG / WebP。 re-encodes PNG / JPEG / WebP in the browser.