文件格式任意转换助手Transfer Any File

离线 · 无上传 · 浏览器本地完成Offline · no uploads · runs in the browser

BMP 转 WebP——离线、重编码、体积真正会降BMP to WebP offline — a real re-encode, real shrink

一步:`bmp>webp`(基线现读),走的是图片转图片那条通用管线——解码到画布、`drawImage`、`encodeCanvas` 编成 WebP。这一格值得单独讲清楚的是**它在 BMP 的出口里是唯一体积真会下来的方向**:BMP 常常整块位图不做任何压缩,WebP 是有损容器,所以同一张图通常能掉一个量级(幅度取决于画面内容,本页不写百分比)。但**代价也要写在同一句里**:像素会被重新画一遍,产物不再与源文件逐字节相同,边缘与细节按终点的量化处理;这与 BMP→HTML / BMP→Word 那两条「搬运、字节不动、体积只增」的路正好相反,也和 BMP→PDF(重画后按压缩流存放、还多一层分页)不同。能调的开关都在这条路上:最长边**只缩不放**(设定值小于当前最长边才等比缩,小图不会被拉伸),质量与目标尺寸只对 WebP 这种有损终点生效,且只在最后一次编码起作用。**不会铺白底**:那层 `#FFFFFF` 只在终点是 JPEG 时画(`utils/converters/image-convert.ts:51-54` 的条件就是 `mimeType` 为 `image/jpeg`),所以带透明通道的 BMP 会把 alpha 带进 WebP;但 BMP 常见的 24 位形式本来就没有透明通道,这一点不会因换格式而凭空出现。丢帧这件事对 BMP 不适用(它不是动画容器),而界面里那句「只保留第一帧」的提示只在源是 GIF 时出现,不会误报在这里。BMP 在这套界面里**只能作输入**:浏览器不提供 BMP 编码器,所以没有任何路线会产出 .bmp。全程只有 storage 权限、不联网。One step: `bmp>webp` (read live from the baseline), through the shared image-to-image pipeline — decode onto a canvas, `drawImage`, `encodeCanvas` into WebP. What deserves saying plainly about this cell is that **it is the only BMP exit where size genuinely comes down**: BMPs often store the bitmap with no compression at all while WebP is a lossy container, so the same picture usually drops by an order of magnitude (how much depends on content, so no percentage is quoted here). But **the price belongs in the same sentence**: pixels are redrawn, so the artifact is no longer byte-identical to the file you gave, and edges are handled by that final quantisation. That is the opposite of BMP to HTML and BMP to Word, which carry bytes, never grow smaller, and differ again from BMP to PDF (redrawn, then stored compressed, with pagination added). Everything you can tune lives on this route: the longest edge **only scales down**, quality and target size exist only for a lossy endpoint like WebP, and both act on that last encode. **No white ground is painted**: that fill happens only when the endpoint is JPEG (`utils/converters/image-convert.ts:51-54` tests exactly `mimeType` being `image/jpeg`), so a BMP that does carry alpha brings it into the WebP — though the common 24-bit BMP has no alpha channel to begin with, and changing container does not invent one. Frame loss is not a concept for BMP (it is not an animation container), and the «first frame kept» notice appears only for GIF sources, so it cannot misfire here. And BMP stays **input-only** in this interface: browsers do not encode it, so no route produces a .bmp. All of it on the storage permission, with no network.

一批转换结果卡片,含文件名、体积与下载入口
一次混合批量,一个 ZIP 下载One mixed batch, one ZIP download

这条链路怎么走How the route runs

BMPBMP WebPWebP

共 1 步,由扩展的路径搜索自动选出,中间产物不落盘。1 step, chosen by the extension's own path search; intermediate results never touch the disk.

会保留什么What carries over

  • 体积真会下来:常无压缩的 BMP 变成有损容器里的 WebP,这是 BMP 诸出口里唯一降下来的方向Size really drops: an usually-uncompressed BMP becomes a lossy WebP, the only BMP exit that shrinks
  • 不铺白底:那层白色只在终点是 JPEG 时画,带透明的 BMP 把 alpha 带进 WebPNo white ground: that fill is painted only for a JPEG endpoint, so a BMP with alpha brings it into the WebP
  • 最长边只缩不放:设了更小的值才等比缩,小图不会被拉伸The longest edge only scales down, so small pictures are never stretched
  • 质量与目标尺寸在这条路上都有意义,且只作用在最后那一次编码Quality and target size both mean something here, and act on that final encode only
  • 一批最多 200 个文件、单个 100 MB,与其他路线共用同一道闸门Up to 200 files per batch and 100 MB each — the same gate every other route shares

如实说明的限制What it does not do

  • 像素重画一遍:产物不再与源文件逐字节相同,边缘与细节按终点量化处理Pixels are redrawn: the artifact is no longer byte-identical, and edges follow the endpoint’s quantisation
  • 降幅取决于画面内容,本页不写百分比;要「字节原样 + 可大可小」不存在这种组合The drop depends on content, so no percentage is given here; “identical bytes and smaller” is not a combination this route offers
  • 常见 24 位 BMP 本来没有透明通道,换容器不会凭空生出 alphaA common 24-bit BMP has no alpha channel, and changing containers does not invent one
  • BMP 只能作输入:浏览器不提供 BMP 编码器,没有路线会产出 .bmpBMP is input only: browsers do not encode it, so no route produces a .bmp
  • 不 OCR、不改帧率、不做拼图:这条只换容器与压缩No OCR, no frame-rate editing, no collage — this only changes container and compression

实操提示Working with it

  • 要字节一个都不动:BMP→HTML 或 BMP→Word,那两条是搬运(体积只增)For untouched bytes: BMP to HTML or Word — those carry, and only grow
  • 要无损静帧:BMP→PNG,重编码但不量化For a lossless still: BMP to PNG, re-encoded but not quantised
  • 要一页一张的文档:BMP→PDF,页面尺寸跟着图片走For a one-page-per-image document: BMP to PDF, sized to each picture

常见问题Questions people actually ask

BMP 转 WebP 会掉画质吗?Does BMP to WebP cost me quality?

会,这是有损终点:画布重画一遍再量化一次。换来的是体积明显下来(BMP 常常完全不压缩)。要「重画但不量化」走 BMP→PNG;要连重画都不要,就走搬运那条 BMP→HTML——只是它会变大。三者不可兼得,按目的选。Yes: this is a lossy endpoint — one redraw over a canvas, then a quantisation. What you get back is a much smaller file (BMPs are often entirely uncompressed). For redraw-without-quantisation take BMP to PNG; for no redraw at all take the carrying route, BMP to HTML — which only grows. The three cannot be had at once; choose by purpose.

为什么我的透明 BMP 转出来还是白底?Why did my transparent BMP still come out on white?

两条可能。其一是源本来没有 alpha:常见的 24 位 BMP 不带透明通道,换格式不会生出来。其二是显示那一边——WebP 有 alpha 不代表查看器会用它做透明合成。这一路确实**不铺白底**(白只在终点是 JPEG 时画),所以若源带 alpha,它是原样带过去的。Two answers. The source may have had no alpha at all: the common 24-bit BMP carries none, and changing format cannot invent it. Or it is the display side — a WebP having alpha does not oblige a viewer to composite it transparently. This route genuinely paints **no white ground** (that happens only for a JPEG endpoint), so alpha present in the source is carried through as it stands.

转完还能转回 BMP 吗?Can I convert it back to BMP afterwards?

不能。浏览器不提供 BMP 编码器,所以这套界面里 BMP 只是输入格式:任何路线都不会产出 .bmp。要通用位图就选 PNG / JPG / WebP,要文档就选 PDF。No. Browsers cannot encode BMP, so in this interface BMP is an input format only — no route produces a .bmp. For a general-purpose bitmap take PNG, JPG or WebP; for a document take PDF.

不需要账号,也不需要联网:装好扩展后点图标,在新标签页里打开工作台,文件从磁盘直接选。No account and no network: install the extension, click its icon, and the workbench opens in a new tab reading straight off your disk.