zeno

Zeno is a pure Rust crate that provides a high performance, low level 2D rasterization library with support for rendering paths of various styles into alpha or subpixel masks.

Crates.io Docs.rs MIT licensed Apache licensed

Features

Usage

Add this to your Cargo.toml:

toml [dependencies] zeno = "0.2.1"

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:

Dashed Triangle

For detail on additional features and more advanced usage, see the full API documentation.