跳转至

Cario 定义

原文: https://zetcode.com/gfx/cairo/cairodefinitions/

在 Cairo 图形教程的这一部分中,我们将为 Cairo 图形库提供一些有用的定义。 这将帮助我们更好地了解 Cairo 绘图模型。

上下文

Cairo 中的绘制是通过上下文完成的。 Cairo 上下文包含所有描述绘制方式的图形状态参数。 这包括信息,例如线宽,颜色,要绘制的表面以及许多其他内容。 这允许实际的绘图函数采用较少的参数来简化界面。

使用 Cairo 进行的所有绘制始终都是对cairo_t对象完成的。 Cairo 上下文与特定表面相关。 PDF,SVG,PNG,GtkWindow 等。

路径

路径由一条或多条线组成。 这些线由两个或多个锚点连接。 路径可以由直线和曲线组成。 路径有两种。 打开和关闭路径。 在封闭的路径中,起点和终点相遇。 在开放路径中,起点和终点不相交。

在 Cairo,我们从一条空路开始。 首先,我们定义一条路径,然后通过抚摸和填充它们使它们可见。 重要说明。 在每个cairo_stroke()cairo_fill()函数调用之后,该路径将被清空。 我们必须定义一条新路径。

路径由子路径组成。

资源

来源是我们在绘图中使用的油漆。 我们可以将源与笔或墨水进行比较,以用于绘制轮廓和填充形状。 有四种基本来源:颜色,渐变,图案和图像。

表面

表面是我们要绘制的目标。 我们可以使用 PDF 或 PostScript 表面渲染文档,并通过 Xlib 和 Win32 表面直接绘制到平台上。

该文档提到以下方面:

typedef enum _cairo_surface_type {
  CAIRO_SURFACE_TYPE_IMAGE,
  CAIRO_SURFACE_TYPE_PDF,
  CAIRO_SURFACE_TYPE_PS,
  CAIRO_SURFACE_TYPE_XLIB,
  CAIRO_SURFACE_TYPE_XCB,
  CAIRO_SURFACE_TYPE_GLITZ,
  CAIRO_SURFACE_TYPE_QUARTZ,
  CAIRO_SURFACE_TYPE_WIN32,
  CAIRO_SURFACE_TYPE_BEOS,
  CAIRO_SURFACE_TYPE_DIRECTFB,
  CAIRO_SURFACE_TYPE_SVG,
  CAIRO_SURFACE_TYPE_OS2
} cairo_surface_type_t;

遮罩

在将源应用于表面之前,先对其进行过滤。 遮罩用作过滤器。 遮罩确定在哪里应用源,在哪里不应用。 遮罩的不透明部分允许复制源。 透明零件不允许将源复制到表面。

图案

Cairo 图案代表在表面上绘制时的来源。 在 Cairo 中,您可以从中读取图案,该图案用作绘制操作的来源或蒙版。 Cairo 中的图案可以是实心,基于表面或渐变的图案。

在 Cairo 教程的这一章中,我们给出了一些基本定义。


我们一直在努力

apachecn/AiLearning

【布客】中文翻译组