Logo
Section 1 / 4

学习目标

在接下来的课程中,我们将详细学习以下主题

导入

学习目标

在接下来的课程中,我们将详细学习以下主题

即将介绍的主题

Pycairo 将其输出绘制到一个 surface 上。针对不同类型的输出,有各自独立的 surface 类型,每种都派生自抽象基类 Surface。通常,我们会创建所需类型的 surface,然后获取一个 Context 来执行绘图操作。

以下是用于各种输出格式的独立 surface:

  • ImageSurface:用于创建像素图像输出,适用于 PNG 输出,也适用于将图像数据传递给 NumPy 或 Pillow。
  • SVGSurface:用于创建 SVG 输出。
  • PDFSurface:用于创建 PDF 输出。
  • PSSurface:用于创建 PostScript (PS) 或 Encapsulated PostScript (EPS) 输出。

还有一些 surface 并不用于创建输出,具体包括:

  • RecordingSurface:记录高层次的绘图操作,这些操作可以“回放”到另一个 surface 上,例如,向另一个 surface 添加起始模板。
  • ScriptSurface:将绘图操作记录为脚本。
  • TeeSurface:允许同时向两个或多个 surface 进行绘制。

Pycairo 也可以与 GTK 窗口一起使用。GTK 内部使用 Cairo,因此 GTK 的绘图回调会提供一个 Pycairo Context 供绘制使用。

在接下来的课程中,我们将详细介绍每种 surface。我们将探讨每种 surface 的主要特性,尽管其中一些更专业的类型会以较简略的方式介绍,对于这些内容,我们还需要查阅 Cairo 库本身的文档。

裁剪、遮罩与合成

输出格式