#2d-graphics #2d #graphics #piet #testing #cross-platform

piet-test

用于测试piet 2D图形抽象的实用工具

12个版本

0.0.12 2020年4月9日
0.0.11 2020年3月23日
0.0.9 2020年1月29日
0.0.7 2019年11月1日
0.0.2 2019年2月22日

#930 in 图形API

每月21次下载

MIT/Apache

335KB
3K SLoC

image of piet logo

Piet:一个2D图形抽象

Crates.io Documentation Build Status

跨平台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的zulip聊天实例,在#piet通道下。

后端

为了跨平台使用,piet-common包导出当前目标最合适的实现。

piet-cairo crates.io

piet-cairo 包依赖于 cairo 库。对 cairo 后端的简单测试是运行 cargo run --example test-picture 0,这将生成一个名为 cairo-test-0.png 的图像文件。

piet-coregraphics crates.io

piet-coregraphics 包仅在 macOS 上运行。对 coregraphics 后端的简单测试是运行 cargo run --example test-picture 0,这将生成一个名为 coregraphics-test-0.png 的图像文件。

piet-direct2d crates.io

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 命名。它是抽象的,旨在用于绘制许多矩形。

依赖项