飞秒
由 Rust 编写的 GPU 防锯齿 2D 向量绘图库。
来自 https://github.com/memononen/nanovg 的移植
大部分实现与原始 C 代码相同,其中包括了一些 bug 修复、一些功能添加,以及一些部分进行了更多的 Rust 化。渲染通过一个 OpenGl (ES) 3.0+ 后端完成。
屏幕截图
演示
使用 cargo run --example demo 运行
突破
使用 cargo run --example breakout 运行
SVG
使用 cargo run --example svg 运行
文本
使用 cargo run --example text 运行
特性
- 防锯齿处理
- Bézier 路径填充和绘制
- 单色和图像图案填充和绘制
- 渐变 - 矩形、线性、径向(包括两点/焦点)和锥形,具有多个停止颜色和渐变变换
- 笔宽和斜角限制
- 笔帽: 直角、圆形和正方形
- 笔连接: 斜角、圆形和倒角
- 填充规则 - EvenOdd/NonZero
- 矩形裁剪
- 合成模式 (SourceOver、SourceIn、SourceOut、Atop 等)
- 图像滤镜 - 高斯模糊和颜色矩阵(CSS 过滤函数),可在单个调用中连接
- 图层 - 通过声明透明度和图层滤镜进行组合捕获(Canvas 2D beginLayer/endLayer、SVG 组效果)
- 图层遮罩 - 亮度和透明度(SVG 遮罩/遮罩类型)
- 全局透明度
- 文本填充和绘制
- 文本形状
- 文本对齐: (左对中、右对中)、(顶部、中间、字母顺序、底部)
- 最近的字体匹配
- 路径碰撞测试
- OpenGl ES2 后端
- WGPU 后端
- 颜色字体
不支持