mermaid图片如何保存成svg格式

mermaid官网

在 Mermaid 网页(以官方 Live Editor 为主)保存图表,优先用内置导出,再配合截图、手动抓 SVG 或 CLI 工具,下面是可直接执行的完整步骤与场景方案。


一、官方 Live Editor 快速导出(推荐)

  1. 打开 Mermaid Live Editor,粘贴/编写代码并完成渲染。
  2. 右上角找到 Export (或 Download),按需选择:
    • SVG:矢量格式,无损缩放,适合印刷/二次编辑。
    • PNG:位图,适合快速分享/嵌入文档。
    • PDF:部分版本支持,适合归档。
  3. 点击后浏览器自动下载文件;若需高清,可先在 Settings 调整渲染分辨率(如 2×)再导出。
  4. 额外保存:History 面板点 Save 可存代码到浏览器本地存储,或用 Gist 导入/导出长期备份。

二、网页通用保存法(非官方网页/无导出按钮时)

1. 手动抓取 SVG(矢量无损)
按 F12 打开浏览器开发者工具,切换到 Elements 面板。

点击图片,直接定位到<svg>

copy element或者copy outerHTML

复制粘贴到TXT文档,然后要注意,把<p></p>,还有<br></br>标签成对删除,防止出现以下界面
因为防止复制的代码标签不是成对的,所以最好把标签直接删除(直接用替换),然后把txt后缀名改成svg后缀名,(mermaid.txt -> mermaid.svg),然后再用浏览器打开就行了。



2. 精准截图(快速获取位图)
  1. 用浏览器内置截图:Chrome 右键 → 截图 → 选"捕获区域"框选图表,保存为 PNG。
  2. 或用 Lightshot 等扩展,支持标注与高清保存,适合快速分享。

三、本地批量/自动化导出(mermaid-cli)

适合批量处理或需脚本化工作流:

  1. 安装 Node.js(含 npm)后,全局安装 CLI:

    bash 复制代码
    npm install -g @mermaid-js/mermaid-cli
  2. 执行命令导出:

    bash 复制代码
    mmdc -i 你的代码文件.mmd -o 输出文件.png  # 导出PNG
    mmdc -i 你的代码文件.mmd -o 输出文件.svg  # 导出SVG
  3. 可选参数:-w 1200 -h 800 定尺寸、-b transparent 设透明背景。


四、编辑器/IDE 内导出(VS Code/Typora)

VS Code
  1. 安装插件(如 Mermaid Preview)。
  2. 打开 .md/.mmd 文件,预览图表后,Ctrl+Shift+P 执行 Export Mermaid Diagram,选 PNG/SVG 保存。
Typora
  1. 偏好设置 → Markdown → 勾选 Mermaid 启用。
  2. 右键预览中的图表 → Save as Image,保存为 PNG。

五、格式选择与场景建议

格式 优点 缺点 适用场景
SVG 无损缩放、可编辑、体积小 部分旧软件兼容性差 论文/报告、二次编辑
PNG 兼容性强、快速分享 放大易模糊 文档嵌入、网页展示
PDF 跨平台、可加密 编辑性差 归档/正式交付
CLI 批量/自动化、可脚本化 需安装工具 多图表批量处理

如果文章被吞图 了,可以下载pdf文档

相关推荐
南极星100514 小时前
蓝桥杯JAVA--启蒙之路(十)class版本 模块
java·开发语言
未来之窗软件服务14 小时前
未来之窗昭和仙君(六十五)Vue与跨地区多部门开发—东方仙盟练气
前端·javascript·vue.js·仙盟创梦ide·东方仙盟·昭和仙君
baidu_2474386114 小时前
Android ViewModel定时任务
android·开发语言·javascript
Dev7z15 小时前
基于 MATLAB 的铣削切削力建模与仿真
开发语言·matlab
不能隔夜的咖喱15 小时前
牛客网刷题(2)
java·开发语言·算法
VT.馒头15 小时前
【力扣】2721. 并行执行异步函数
前端·javascript·算法·leetcode·typescript
小天源15 小时前
Error 1053 Error 1067 服务“启动后立即停止” Java / Python 程序无法后台运行 windows nssm注册器下载与报错处理
开发语言·windows·python·nssm·error 1053·error 1067
有位神秘人15 小时前
Android中Notification的使用详解
android·java·javascript
肉包_51115 小时前
两个数据库互锁,用全局变量互锁会偶发软件卡死
开发语言·数据库·c++
大空大地202615 小时前
流程控制语句--if语句
开发语言