SVG 转 BMP
将矢量 SVG 文件栅格化为未压缩的 BMP 图片——几秒钟完成,100% 在浏览器中运行。
源文件
将 SVG 文件拖到此处
或点击选择文件
什么是 SVG?
SVG 即可缩放矢量图形(Scalable Vector Graphics),是一种基于 XML 的矢量图像格式,由万维网联盟(W3C)于 2001 年标准化。与 JPG、PNG、WebP 或 BMP 等存储像素网格的栅格格式不同,SVG 文件以数学描述的形式存储形状、路径、文字和渐变。这意味着 SVG 可以缩放到任意尺寸——从一个小图标到一块广告牌——都不会失去清晰度或出现像素化。SVG 也是可读的文本,因此可被搜索、可用 CSS 设置样式、可用 JavaScript 制作动画,并且对于简单的徽标和图标来说极为紧凑。
由于 SVG 基于矢量,它是徽标、图标、插图、图表、示意图以及任何需要在每种分辨率下都保持清晰的图形的理想格式。所有现代浏览器都能原生渲染 SVG。然而,SVG 不适合复杂的照片,而且许多图像编辑器、社交平台、内容管理系统、嵌入式系统和邮件客户端要么以不一致的方式栅格化 SVG,要么拒绝将其作为上传内容。这正是将 SVG 转换为 BMP 等栅格格式往往是共享或嵌入图形到无法处理矢量数据的系统中最实用方式的原因。
什么是 BMP?
BMP(Bitmap,位图)是最古老的栅格图像格式之一,最初由微软和 IBM 于 20 世纪 80 年代末为 Windows 和 OS/2 操作系统引入。BMP 文件以简单的像素网格形式存储图像数据,通常完全不压缩,或使用非常简单的行程编码方案。这种简单性使 BMP 在编程上极其易于读写,而且每个图形库、图像编辑器和操作系统都能无需特殊编解码器直接打开 BMP 文件。
这种通用兼容性的代价是文件体积:由于 BMP 存储每个像素而不压缩,BMP 文件通常比同一图像以 SVG、JPG、PNG 或 WebP 格式存储大很多倍。BMP 最常用于嵌入式系统、固件开发、旧版应用程序以及格式简单性和兼容性比文件体积更重要的场景。
SVG 与 BMP 对比
SVG 和 BMP 的设计目的根本不同:SVG 是一种以数学形式存储形状的矢量格式,而 BMP 是一种存储像素的栅格格式。下表总结了 SVG 与 BMP 图像格式之间的关键差异。
| 特性 | SVG | BMP |
|---|---|---|
| 图像类型 | 矢量(基于数学) | 栅格(基于像素) |
| 推出年份 | 2001 | 20 世纪 80 年代末 |
| 缩放 | 无限缩放,无质量损失 | 固定分辨率,放大会像素化 |
| 压缩方式 | 无(基于文本的 XML) | 无(未压缩) |
| 最适合 | 徽标、图标、插图、UI 图形 | 嵌入式系统、旧版应用、原始像素数据 |
| 透明度 | 支持(固有) | 不支持(24 位输出) |
| 文件大小(简单图形) | 非常小(文本) | 非常大 |
| 代码可编辑 | 可以(XML 文本) | 不可以(二进制) |
| 平台上传支持 | 不一致(常被拒绝) | 广泛接受 |
简而言之,SVG 在可缩放性、可编辑性和简单图形体积方面胜出,而 BMP 在简单性、通用像素级访问以及与嵌入式和旧版系统的保证兼容性方面胜出。将 SVG 转换为 BMP 会将矢量图形栅格化为固定分辨率的像素图像,可在任何地方嵌入、上传和分享。
何时使用 SVG 转 BMP
尽管 SVG 是一种出色的格式,但在许多实际场景中将它栅格化为 BMP 是更好的选择。每当平台、服务或工作流期望的是栅格图像而非矢量图形时,将 SVG 转换为 BMP 可以让您兼得 SVG 的设计质量和 BMP 的广泛兼容性:
- 嵌入式系统和固件。微控制器和嵌入式显示屏期望原始位图数据,无法渲染 SVG。转换为 BMP 可提供它们所需的原始像素网格。
- 旧版软件兼容性。某些较旧的图像编辑器、查看器和工业工具只接受 BMP 文件作为输入,无法读取 SVG。
- 工业和销售终端系统。POS 终端、自助终端显示屏和标识控制器等专用硬件通常期望 BMP 输入。
- 平台上传。许多社交网络、市场、表单构建器和 CMS 平台出于安全原因拒绝 .svg 上传。BMP 几乎在所有平台都被接受。
- 原始像素分析。由于 BMP 存储像素而不压缩,它适用于需要从矢量源获取精确、未修改像素值的图像处理任务。
- 开发与测试。在编写图像处理代码时,BMP 是无需外部库即可读写的最简单格式——在使用 SVG 源图形时非常有用。
请将原始 SVG 保留为可编辑的主文件——它可以随时以任意分辨率重新导出。当您需要紧凑、固定尺寸的栅格图像用于分享、嵌入或上传到无法处理矢量数据的系统时,再使用 BMP 导出。
如何将 SVG 转换为 BMP
使用本工具将 SVG 图像转换为 BMP 只需几秒钟,并且完全在浏览器中完成。无需上传、无需注册、无需安装。工具通过 data URL 加载您的 SVG,按 SVG 的固有尺寸(无尺寸时回退到 1024×1024)将其栅格化到画布上,再通过手动 BMP 编码器将画布重新编码为未压缩的 24 位 BMP。请按以下三步操作:
- 上传 SVG 文件。点击上传区或将 .svg 文件拖放到此处。图像将在本地解码并显示为预览。
- 转换。点击"转换为 BMP"按钮。工具会将 SVG 栅格化到白色背景的画布并重新编码为未压缩的 BMP。
- 下载 BMP。点击"下载 BMP"将转换后的文件保存到设备。原始 SVG 文件不会被修改。
由于每一步都使用 JavaScript 在浏览器中本地运行,您的 SVG 图像永远不会被上传到服务器。这使得转换完全私密、快速,并适合敏感或机密的图形。
这个 SVG 转 BMP 转换器免费吗?
是的,完全免费,无需注册、无水印,除设备内存外没有任何限制。
为什么我的 SVG 文件加载失败?
引用外部资源或使用不支持的特性的 SVG 可能无法解码。请先在浏览器中打开 SVG 确认其有效。
为什么 BMP 文件比 SVG 大这么多?
BMP 以 24 位数据无压缩地存储每个像素,所以一张 1024×1024 的图片无论内容如何都约为 3 MB。SVG 以紧凑的 XML 文本存储形状,通常要小得多。
BMP 输出支持透明吗?
不支持。本工具生成带白色背景的 24 位 BMP 文件,不支持 Alpha 通道。源 SVG 中的透明区域会被填充为白色。
我的图片会被上传吗?
不会。所有处理都在本地进行,图片永远不会离开您的浏览器。