GraphicsPath::Outline 方法 (gdipluspath.h)

GraphicsPath::Outline 方法转换和平展此路径,然后转换此路径的数据点,使其仅表示路径的轮廓。

语法

Status Outline(
  [in] const Matrix *matrix,
  [in] REAL         flatness
);

parameters

[in] matrix

类型: const Matrix*

可选。 指向指定转换的 Matrix 对象的指针。 如果此参数为 NULL,则不应用任何转换。 默认值为 NULL。

[in] flatness

类型: REAL

可选。 指定路径与其平展近似值之间的最大误差的实数。 减小平整度会增加近似值中的线段数。 默认值为 FlatnessDefault,它是 Gdiplusenums.h 中定义的常量。

返回值

类型: 状态

如果该方法成功,则返回 Ok,这是 Status 枚举的元素。

如果方法失败,它将返回 Status 枚举的其他元素之一。

注解

GraphicsPath 对象存储表示线条和曲线的数据点集合。 GraphicsPath::Outline 方法更改这些数据点,原始数据点将丢失。

示例

以下示例创建 一个 GraphicsPath 对象,并调用 GraphicsPath::AddClosedCurve 方法以向路径添加一条闭合的基数样条。 代码调用 GraphicsPath::Widen 方法来扩大路径,然后绘制路径。 接下来,代码调用路径的 Outline 方法。 该代码调用 Graphics 对象的 TranslateTransform 方法,以便后续调用 DrawPath 绘制的轮廓路径位于第一个路径的右侧。


VOID OutlineExample(HDC hdc)
{
   Graphics graphics(hdc);

   Pen bluePen(Color(255, 0, 0, 255));
   Pen greenPen(Color(255, 0, 255,  0), 10);

   PointF points[] = {
      PointF(20.0f, 20.0f),
      PointF(160.0f, 100.0f),
      PointF(140.0f, 60.0f),
      PointF(60.0f, 100.0f)};

   GraphicsPath path;
   path.AddClosedCurve(points, 4);

   path.Widen(&greenPen);
   graphics.DrawPath(&bluePen, &path);

   path.Outline();

   graphics.TranslateTransform(180.0f, 0.0f);
   graphics.DrawPath(&bluePen, &path);
}

要求

   
最低受支持的客户端 Windows XP、Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
目标平台 Windows
标头 gdipluspath.h (包括 Gdiplus.h)
Library Gdiplus.lib
DLL Gdiplus.dll

另请参阅

使用区域进行剪裁

构造并绘制轨迹

创建路径渐变

GraphicsPath

GraphicsPath::Flatten

GraphicsPath::Warp

GraphicsPath::Widen

矩阵

路径