Zeno is a pure Rust crate that provides high performance, low level 2D rasterization library with support for rendering paths of various styles into alpha or subpixel masks.
Add this to your Cargo.toml
:
toml
[dependencies]
zeno = "0.1.0"
Rendering a dashed stroke of a triangle:
```rust use zeno::{Cap, Join, Mask, PathData, Stroke};
// Buffer to store the mask let mut mask = [0u8; 64 * 64];
/// Create a mask builder with some path data Mask::new("M 8,56 32,8 56,56 Z") .style( // Stroke style with a width of 4 Stroke::new(4.0) // Round line joins .join(Join::Round) // And round line caps .cap(Cap::Round) // Dash pattern followed by a dash offset .dash(&[10.0, 12.0, 0.0], 0.0), ) // Set the target dimensions .size(64, 64) // Render into the target buffer .render_into(&mut mask, None); ```
Resulting in the following mask:
For detail on additional features and more advanced usage, see the full API documentation.