这里我们将提供一些有用的定义。为了使用PyCairo绘制一些东西,我们必须先创建一个绘制上下文(drawing context).绘制上下文包含描述如何绘制的所有的图形状态参数。这包括线的宽度,颜色,绘制到的surface和许多其他东西的信息。这将使得实际的绘图函数可以接收更少的参数而简化接口。
(1)一个path是一个用于创建基本形状如直线,圆弧和曲线等的点的集合。有两种类型的paths。开的和闭合的paths。在一个闭合的path中,起点和终点相接。在一个开的path中,起点与终点不相接。在PyCairo中,我们以一个空的path开始。首先,我们定义一个path,然后我们通过stroking和/或填充它们来使其可见。每一次调用stroke()或者fill()方法之后,path会被清空。我们不得不定义一个新的path。如果我们想要在绘制之后保持既有的path,我们可以使用stroke_preserve()和fill_preserve()方法。一个path由subpaths组成。
(2)一个source是我们绘制时所用的画笔。我们可以把source看作一支笔或者墨水,我们使用它们来画轮廓线或者填充形状。总共有四种类型的基本source,颜色(Colors),渐变(gradients),模式(patterns)和图像(images)。
(3)一个surface是我们将要绘制的一个目的地。我们可以使用PDF或者PostScript. surfaces来渲染文档,或者可以通过Xlib和Win32 surfaces来直接绘制到平台上。在source被应用于surface之前,它会先被过滤。mask被用作一个滤镜。它决定什么地方的source被应用,而什么地方的不应用。mask不透明的部分允许复制自source。透明的部分不允许由source复制到surface。
(4)一个pattern代表一个绘制到一个surface时的一个source。在PyCairo中,一个pattern是你可以从中读取,并用作一个绘制操作的source或者mask的东西。Patterns可能是纯净的,surface-based或者渐变的。
本文复制http://my.oschina.net/wolfcs/blog/131874,这里只是作为记录方便自己查找。
资料:Apple Cocoa drawing guide,PyCairo reference和Cairo documentation.