Pycairo是一个为 cairo graphics library 。这要看情况了 cairo >= 1.15.10 并与 Python 3.7+ 。Pycairo,包括本文档,是按照 LGPL-2.1-only OR MPL-1.1 。
pycairo绑定的设计目的是尽可能接近cairo C API,并且仅在以更“pythonic”的方式更好地实现的情况下会有改变。
pip install pycairo
安装pycairo需要包含其头的cairo。有关详细信息,请参阅“Getting Started<https://pycairo.readthedocs.io/en/latest/getting_started.html> uuuuuu”。
import cairo
with cairo.SVGSurface("example.svg", 200, 200) as 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()
pycairo绑定的功能:
提供到cairo的面向对象接口。
查询对象的错误状态并将其转换为异常。
提供可供其他Python扩展使用的C API。
如果 Pycairo 不是你需要的,看看 cairocffi ,这是一个与API兼容的包,使用 cffi 或 Qahirah ,它正在使用 ctypes 并且提供了一个更“pythonic”的API,而对匹配cairo C API的关注较少。
有关详细信息,请访问https://pycairo.readthedocs.io
- PyPI:
- 焦油球:
- Git回购:
- Bug跟踪器:
- 邮件列表:
https://lists.cairographics.org/cgi-bin/mailman/listinfo/cairo
有关更多详细信息,请参见“:ref:reference_index”。
有关pycairo代码的示例,请参阅pycairo发行版附带的“examples”目录。