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

Download history • Rust 包仓库 7795/week @ 2024-05-05 • Rust 包仓库 7270/week @ 2024-05-12 • Rust 包仓库 6940/week @ 2024-05-19 • Rust 包仓库 6573/week @ 2024-05-26 • Rust 包仓库 6532/week @ 2024-06-02 • Rust 包仓库 21713/week @ 2024-06-09 • Rust 包仓库 21698/week @ 2024-06-16 • Rust 包仓库 23945/week @ 2024-06-23 • Rust 包仓库 18207/week @ 2024-06-30 • Rust 包仓库 13436/week @ 2024-07-07 • Rust 包仓库 12784/week @ 2024-07-14 • Rust 包仓库 12973/week @ 2024-07-21 • Rust 包仓库 11846/week @ 2024-07-28 • Rust 包仓库 11700/week @ 2024-08-04 • Rust 包仓库 12638/week @ 2024-08-11 • Rust 包仓库 12596/week @ 2024-08-18 • Rust 包仓库

49,596 个月下载量
用于 34 个 Crates (17 直接)

MIT/Apache

315KB
7K SLoC

Crates.io API dependency status rust: 1.68 Discord

femtovg

使用 Rust 编写的 GPU 抗锯齿 2D 矢量绘图库。


移植自 https://github.com/memononen/nanovg

大部分实现与原始 C 代码相同,修复了一些错误,增加了一些功能,并使几个部分更符合 Rust 的风格。渲染通过一个 OpenGl (ES) 3.0+ 后端完成。

屏幕截图

演示

demo 使用 cargo run --example demo 运行

Breakout

breakout 使用 cargo run --example breakout 运行

SVG

svg 使用 cargo run --example svg 运行

文本

text 使用 cargo run --example text

特性

  • 抗锯齿
  • Bézier路径填充和描边
  • 实色和图像图案填充和描边
  • 渐变 - 矩形、线性和对齐渐变
  • 描边宽度和miterlimit
  • 描边端点:平头、圆角和方形
  • 描边连接:斜接、圆角和斜边
  • 填充规则 - EvenOdd/NonZero
  • 矩形裁剪
  • 合成模式(SourceOver, SourceIn, SourceOut, Atop等)
  • 全局透明度
  • 文本填充和描边
  • 文本形状
  • 文本对齐:(左、居中、右),(顶部、中部、字母顺序、底部)
  • 最近字体匹配
  • 路径击中测试
  • OpenGl ES2后端

进行中

不支持

  • 描边虚线
  • 路径裁剪
  • 自定义着色器
  • 3D变换
  • 彩色字体

许可证

根据您的选择,许可如下

示例中使用的字体

依赖项

~6–19MB
~221K SLoC