导入
学习目标
在接下来的课程中,我们将详细学习以下主题
即将介绍的主题
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 库本身的文档。