1 个不稳定版本
0.1.0 | 2022 年 8 月 23 日 |
---|
#83 在 数据格式
每月 46 次下载
44KB
1K SLoC
SVG Composer
使用 Rust 编写的强类型 SVG 组合库。此库允许您在项目的编译时确保生成的 SVG 的正确性。
该项目最初是为生成艺术项目 https://stegano.graphics 制作的。
使用此库在 stegano.graphics 中的渲染示例:
免责声明
此库仍处于早期开发阶段,预计 API 将会有一些变化,主要是为了进一步加强类型检查。
示例
let svg_document = Document::new(
vec![Box::new(
Path::new()
.set_stroke(Paint::from_color(Color::from_name(ColorName::Fuchsia)))
.set_stroke_width(Size::from_length(10.0))
.add_commands(vec![
Box::new(MoveTo {
point: (11., 1.),
coordinate_type: CoordinateType::Absolute,
}),
Box::new(LineTo {
point: (10.0, 20.0),
option: LineToOption::Default,
coordinate_type: CoordinateType::Relative,
}),
Box::new(LineTo {
point: (-20.0, 0.0),
option: LineToOption::Default,
coordinate_type: CoordinateType::Relative,
}),
Box::new(End {}),
]),
)],
Some([0., 0., 100., 100.]),
);
// This rendering outputs a .svg file which can then be rendered as an image by an svg renderer
println!("{}", svg_document.render());
依赖项
~105KB