#polyline #svg #robotics

svg2polylines

将SVG数据转换为多边形线列表(即多边形链或多边形路径)

12个版本 (7个重大更新)

0.8.1 2022年8月28日
0.7.0 2022年6月21日
0.6.0 2021年9月13日
0.5.2 2019年8月11日
0.4.0 2017年6月25日

#929算法

每月37次下载
spiropath 中使用

MIT/Apache

60KB
1K SLoC

svg2polylines

CircleCI Crates.io

将SVG数据转换为多边形线列表(即多边形链或多边形路径)。

这可以用于例如简单的绘图机器人,该机器人仅支持绘制直线和抬笔/落笔命令。

使用Lyon库进行贝塞尔曲线的展平。SVG文件使用usvg进行预处理/简化。

注意:目前完全忽略路径样式。仅返回路径本身。

预览

有一个小的预览工具可以查看生成的多边形线。它很简单且有些技巧,但有助于调试。

cargo run --release --example preview path/to/file.svg

--release 参数非常重要,否则将会非常慢。

使用鼠标拖动/缩放图像,使用 Esc 键关闭窗口。

用法:Rust

签名

fn svg2polylines::parse(svg: &str, tol: f64, preprocess: bool) -> Result<Vec<Polyline>, String>;

查看examples/basic.rs以获取完整的使用示例。

FFI

此crate曾经包含FFI绑定。从版本0.8.0开始已删除。如果您需要它们,请打开GitHub上的问题,我可能会重新引入它们。

许可

根据您的选择,许可方式如下

贡献

除非您明确声明,否则任何有意提交以包含在您的工作中的贡献,根据Apache-2.0许可的定义,应如上所述双重许可,无需任何附加条款或条件。

依赖项

~6MB
~124K SLoC