
VectorCraft CLI实战headless批量转换、格式导出与性能基准测试【免费下载链接】vectorcraftAn open-source, clean-room reimplementation of Adobe Illustrator, built in pure Rust.项目地址: https://gitcode.com/gh_mirrors/ve/vectorcraftVectorCraft CLI 是开源矢量插画软件 VectorCraft 的官方命令行工具不开界面就能 headless 批量处理文档、在 SVG/PDF/PNG 等 20 多种格式之间互相转换导出还能一键跑性能基准测试。对需要无人值守出图的设计团队和 CI 流水线来说它是把 VectorCraft 变成自动化引擎的钥匙。什么是 VectorCraft CLI不开界面的 VectorCraft 自动化引擎VectorCraft 是用纯 Rust 从零实现clean-room的 Adobe Illustrator 替代品。桌面应用、Web 版和 CLI 共享同一套文档引擎因此vectorcraft-cli能做到的事本质上和你在图形界面里点出来的结果完全一致——只是全部由命令驱动输出标准 JSON天然适合脚本化。CLI 内置 7 个子命令定义见 apps/vectorcraft-cli/src/main.rs子命令一句话说明mcp启动 MCP 服务器stdio把 VectorCraft 交给 AI Agent 操作runheadless 批量处理开文档 → 按顺序执行命令 → 逐个导出commands以 JSON 打印全部命令目录方便脚本查询convert打开任意可读取格式按输出文件扩展名导出info打印文档的 JSON 体检报告画板、字体、对象统计、导入警告bench真实文件渲染计时多线程 / 单线程对照perf性能预算检查超预算则以非零退出码结束可直接接入 CI快速构建步骤编译你的第一份 vectorcraft-cligit clone https://gitcode.com/gh_mirrors/ve/vectorcraft cd vectorcraft cargo build --release -p vectorcraft-cli ./target/release/vectorcraft-cli --help--help会额外列出全部可读与可写格式清单格式表定义在 crates/engine/src/cmd/fileio/mod.rs。发布渠道中也提供签名的vectorcraft-cli独立压缩包见 README.md 的 Downloads 一节不想编译可以直接下载。headless 批量处理用 run 子命令无人值守出图run的工作方式非常直白按参数顺序执行一串--cmd再逐个执行--export每一步向标准输出打印一行 JSON 结果方便后续jq解析。从 SVG 批量生产 PDF 的完整示例仓库自带示例文档 examples/ribbons.vectorcraftvectorcraft-cli run --in examples/ribbons.vectorcraft --export out.pdf新建文档并画图形、改填充色、再导出三种格式该流程有完整的集成测试 apps/vectorcraft-cli/tests/cli.rsvectorcraft-cli run \ --cmd file.new --params {width:200,height:100} \ --cmd shape.ellipse --params {x:10,y:10,width:80,height:60} \ --cmd paint.setFill --params {color:#3366ff} \ --export out.svg --export out.png --scale 2要点--scale 2会让位图导出PNG 等按 2 倍尺寸输出命令 ID 和参数格式可以用vectorcraft-cli commands查 JSON 目录确认。格式导出实战convert 一条命令搞定格式转换convert是输入任意格式、输出任意格式的瑞士军刀输出格式完全由 OUT 文件扩展名决定文档中定义的可读格式包括.vectorcraft.drawcraft.svg.svgz.pdf.ai.ait.png.jpg.gif.webp.tif.bmp.vctemplate.dxf.emf.wmf.eps.af.afdesign.afpub可写格式覆盖 SVG/SVGZ、PDF、EPS、DXF、EMF/WMF、PNG/PNG-8/JPEG/WebP/GIF/TIFF/BMP/TGA/PSD、原生.vectorcraft与模板.vctemplate。常用参数参数作用--scale N位图导出缩放倍数--artboard I只导出第 I 个画板0 起始--range R按1-3,5这样的画板区间导出1 起始PDF 不指定时默认导出全部画板--outline-text导出 SVG 时把文字转为路径避免对方缺字体# 整份 PDF 只取第 2 个画板 vectorcraft-cli convert in.pdf second.pdf --range 2 # AI 文件转 SVG文字转曲3 倍位图 vectorcraft-cli convert logo.ai logo.svg --outline-text转换会保留实时效果与隐藏图层这些细节的回归测试见 apps/vectorcraft-cli/tests/fileio.rs。文档体检报告info 子命令批量转换前先用info确认文件内容是否符合预期。它打开文件并打印 JSON 摘要导入警告例如某个 EPS 只读到预览位图、原因是什么、标题、色彩模式、单位、画板列表、按种类统计的对象数量、使用的字体。vectorcraft-cli info examples/dusk-poster.vectorcraft性能基准测试bench 与 perf 的正确打开方式bench给真实文件计时。打开任意可读文件按第一个画板等比适配到指定分辨率默认 2880×1800渲染 N 次默认 5 次分别报告多线程与单线程的每帧毫秒数并给出实际绘制/剔除的对象数。vectorcraft-cli bench examples/neon-drive.vectorcraft --size 2880x1800 --iters 10实现细节在 apps/vectorcraft-cli/src/main.rs。perf性能预算守卫。它会生成一个合成文档默认 5 万条路径对渲染、平移刷新、命中测试、存/取文件、SVG 导出、Pathfinder 布尔运算、5000 锚点路径的拖拽等逐项测时并与预算值对比任何一项超预算进程以非零码退出——这就是为 CI 设计的。机器负载过高时还会主动警告计时不可信。预算清单见 apps/vectorcraft-cli/src/perf.rs测试项预算渲染整页 2880×1800100 ms平移后的后台刷新100 ms400% 缩放渲染视口剔除后对象很少16 ms命中测试 / 每次点击2 ms保存 / 打开.vectorcraft300 ms导出 SVG500 msPathfinder 合并 1000 条路径150 ms拖拽 5000 锚点路径的手柄 / 线段每帧8 ms进阶用 mcp 把 VectorCraft 交给 AI Agent最后提一句vectorcraft-cli mcp它通过 stdio 跑一个 MCP 服务器提供绘图、检查、截图、导出等 25 个工具。--headless使用进程内引擎会话--connect 127.0.0.1:7979则连接到正在运行的桌面应用vectorcraft --control 7979启动改动可以实时看到。完整协议说明见 docs/mcp.md 与控制通道文档 docs/control-protocol.md。小结批量出图run一条命令串起开文件 → 执行命令 → 多格式导出每步输出 JSON格式互转convert用输出扩展名决定格式支持 20 种读、18 种写--range精确控制画板质量把关info提前发现导入问题bench/perf把性能变成可回归的预算从convert logo.ai logo.svg --outline-text到 CI 里的vectorcraft-cli perfVectorCraft CLI 让一个纯 Rust 的 Illustrator 复刻版真正变成了可以写进流水线的设计工具。【免费下载链接】vectorcraftAn open-source, clean-room reimplementation of Adobe Illustrator, built in pure Rust.项目地址: https://gitcode.com/gh_mirrors/ve/vectorcraft创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考