.. image:: https://raw.githubusercontent.com/pygobject/pycairo/main/docs/images/pycairo.svg
:align: center
:width: 370px
|
Pycairo 是一个 Python 模块,提供了对 cairo 图形库 的绑定
__. 它依赖于 **cairo >= 1.15.10** 并可正常运行 使用 **Python 3.10+** 和 **PyPy3**。 Pycairo 包括本文档, 在 LGPL-2.1-only OR MPL-1.1` 许可下发布。
Pycairo 绑定的设计是尽可能接近 cairo C API。
尽可能遵循此原则,仅在明显能够更好实施的情况下作出偏离。
一种更“Pythonic”的方式。
.. 代码:: shell
pip 安装 pycairo
安装 Pycairo 需要 cairo 及其头文件。有关详细信息,请参阅
"'开始使用'
`__"。
.. 代码:: Python
import cairo
使用 cairo.SVGSurface("example.svg", 200, 200) 为 surface:
context = cairo.Context(surface)
x, y, x1, y1 分别为 0.1, 0.5, 0.4, 0.9
x2、y2、x3、y3 分别为 0.6、0.1、0.9、0.5
context.scale(200, 200)
context.set_line_width(0.04)
context.move_to(x, y)
context.curve_to(x1, y1, x2, y2, x3, y3)
context.stroke()
context.set_source_rgba(1, 0.2, 0.2, 0.6)
context.set_line_width(0.02)
context.move_to(x, y)
context.line_to(x1, y1)
context.move_to(x2, y2)
context.line_to(x3, y3)
context.stroke()
.. image:: https://raw.githubusercontent.com/pygobject/pycairo/main/docs/images/example.svg
:width: 320px
:align: center
Pycairo 绑定的特性:
- 提供了一个面向对象的 cairo 接口。 * 查询对象的错误状态并将其转换为异常。 * 提供了可由其他 Python 扩展使用的 C API。 * 具有完整类型和文档的 API。