33 个版本
0.9.2 | 2024 年 6 月 27 日 |
---|---|
0.9.0 | 2024 年 2 月 27 日 |
0.8.1 | 2023 年 12 月 18 日 |
0.8.0 | 2023 年 11 月 2 日 |
0.1.0 | 2020 年 9 月 28 日 |
#18 in 图形 API
49,596 个月下载量
用于 34 个 Crates (17 直接)
315KB
7K SLoC
femtovg
使用 Rust 编写的 GPU 抗锯齿 2D 矢量绘图库。
移植自 https://github.com/memononen/nanovg
大部分实现与原始 C 代码相同,修复了一些错误,增加了一些功能,并使几个部分更符合 Rust 的风格。渲染通过一个 OpenGl (ES) 3.0+ 后端完成。
屏幕截图
演示
使用 cargo run --example demo
运行
Breakout
使用 cargo run --example breakout
运行
SVG
使用 cargo run --example svg
运行
文本
使用 cargo run --example text
特性
- 抗锯齿
- Bézier路径填充和描边
- 实色和图像图案填充和描边
- 渐变 - 矩形、线性和对齐渐变
- 描边宽度和miterlimit
- 描边端点:平头、圆角和方形
- 描边连接:斜接、圆角和斜边
- 填充规则 - EvenOdd/NonZero
- 矩形裁剪
- 合成模式(SourceOver, SourceIn, SourceOut, Atop等)
- 全局透明度
- 文本填充和描边
- 文本形状
- 文本对齐:(左、居中、右),(顶部、中部、字母顺序、底部)
- 最近字体匹配
- 路径击中测试
- OpenGl ES2后端
进行中
不支持
- 描边虚线
- 路径裁剪
- 自定义着色器
- 3D变换
- 彩色字体
许可证
根据您的选择,许可如下
- Apache License, Version 2.0 (LICENSE-APACHE 或 http://www.apache.org/licenses/LICENSE-2.0)
- MIT许可 (LICENSE-MIT 或 http://opensource.org/licenses/MIT)
示例中使用的字体
- Roboto根据Apache许可证许可
- Entypo根据CC BY-SA 4.0许可
- Amiri根据SIL Open Font License, Version 1.1许可
依赖项
~6–19MB
~221K SLoC