Logo
Section 1 / 12

学习目标

在本课中,我们将预览接下来要学习的主题。

导入

学习目标

在本课中,我们将预览接下来要学习的主题。

即将讨论的主题

在前面的部分中,我们学习了 Pycairo 的坐标系统及其如何用于绘制各种形状。在本章中,我们将学习变换(transformations)。

有时,我们可能希望以略微不同的方式绘制同一个图形。例如,在设计办公室平面图时,我们可能会在办公室周围绘制许多桌子。其中一些桌子可能需要旋转以适应空间布局,而另一些桌子的尺寸可能不同。

...

我们可以创建一个 draw_desk 函数,使其能够在任意位置、任意方向和任意尺寸下绘制一张桌子,但这样的代码会相当复杂且容易出错。

另一种方法是使用 Pycairo 的变换功能。我们可以编写代码,先在位置 (0, 0) 处绘制一张未旋转且默认尺寸的桌子。通过变换,你可以:

  • 将形状平移到另一个位置。
  • 按任意比例缩放。
  • 绕任意角度旋转。
  • 沿任意直线镜像。
  • 剪切形状(例如将矩形变为平行四边形)。
  • 一般地,执行任意仿射变换。

计算机颜色

用户空间和设备空间