29 个版本
0.6.2 | 2023 年 1 月 30 日 |
---|---|
0.6.0 | 2022 年 11 月 25 日 |
0.5.0 | 2021 年 11 月 12 日 |
0.4.1 | 2021 年 3 月 29 日 |
0.0.2 | 2019 年 2 月 22 日 |
#225 in 图形 API
3,865 每月下载量
在 59 个库中使用 (通过 piet-common)
465KB
6K SLoC
Piet:一个 2D 图形抽象
跨平台的 2D 图形。
Piet 项目由一个核心库 (piet
) 组成,该库描述了一个 2D 图形 API,以及多个“后端”,这些后端在特定平台内置的 2D 图形系统之上实现该 API。这使得可以在不同的平台上使用相同的绘图代码,而无需捆绑完整的 2D 渲染器。
该库的动机在这篇博客文章中阐述。它被用作跨平台 GUI 工具包 Druid 的基础。
Bézier 路径表示和几何的配套库是 kurbo。
入门
运行示例需要检出子模块。从根目录运行
git submodule update --init
贡献
Piet 处于维护模式。
Piet 已基本稳定,原始开发者没有计划添加新的 API 功能。欢迎提交错误修复和性能改进。
如果您想添加一个重要的功能,可以进行讨论。为了考虑添加新功能,必须至少有一个计划,说明如何在 coregraphics、direct2d 和 cairo 后端中实现该功能,并且实际实现应包括至少这些后端中的两个。
有关问题和讨论,我们在 xi.zulipchat.com 上的 #piet 流下的 zulip 聊天室。
后端
为了跨平台使用,piet-common
库重新导出适用于当前目标的最佳实现。
piet-cairo
piet-cairo
库依赖于 cairo 库。测试 cairo 后端的一个简单方法是运行 cargo run --example test-picture 0
,这应该会生成一个名为 cairo-test-0.png
的图像文件。
piet-coregraphics
piet-coregraphics
库仅在 macOS 上工作。测试 coregraphics 后端的一个简单方法是运行 cargo run --example test-picture 0
,这应该会生成一个名为 coregraphics-test-0.png
的图像文件。
piet-direct2d
piet-direct2d
库仅在 Windows 上工作。测试 direct2d 后端的一个简单方法是运行 cargo run --example test-picture 0
,这应该会生成一个名为 d2d-test-0.png
的图像。
piet-svg
piet-web
灵感来源
Piet 的接口主要受 Skia 图形库 以及 C++ 2D 图形 api 建议书 的启发,尽管 piet 力求更轻量化和模块化。
名称
这个库以 Piet Mondrian 命名。它很抽象,旨在用于绘制许多矩形。
依赖项
~1MB
~21K SLoC