Метод GraphicsPath::Outline (gdipluspath.h)

Метод GraphicsPath::Outline преобразует и преобразует этот путь в плоскую структуру, а затем преобразует точки данных этого пути, чтобы они представляли только контур пути.

Синтаксис

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

Параметры

[in] matrix

Тип: const Matrix*

Необязательный элемент. Указатель на объект Matrix , указывающий преобразование. Если этот параметр имеет значение NULL, преобразование не применяется. Значение по умолчанию — NULL.

[in] flatness

Тип: REAL

Необязательный элемент. Вещественное число, указывающее максимальную ошибку между путем и его плоской аппроксимацией. Уменьшение плоскости увеличивает число сегментов линий в аппроксимации. Значение по умолчанию — FlatnessDefault, которое является константой, определенной в Gdiplusenums.h.

Возвращаемое значение

Тип: Состояние

В случае успешного выполнения метода возвращается ОК, который является элементом перечисления Status .

Если метод завершается ошибкой, он возвращает один из других элементов перечисления Status .

Комментарии

Объект GraphicsPath хранит коллекцию точек данных, представляющих линии и кривые. Метод GraphicsPath::Outline изменяет эти точки данных, и исходные точки данных теряются.

Примеры

В следующем примере создается объект GraphicsPath и вызывается метод GraphicsPath::AddClosedCurve для добавления закрытого сплайна к пути. Код вызывает метод GraphicsPath::Widen для расширения пути, а затем рисует путь. Затем код вызывает метод Outline пути. Код вызывает метод TranslateTransform объекта Graphics, чтобы контур, нарисованный последующим вызовом 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 Профессиональная [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Целевая платформа Windows
Header gdipluspath.h (включая Gdiplus.h)
Библиотека Gdiplus.lib
DLL Gdiplus.dll

См. также раздел

Обрезка с помощью региона

Построение и рисование контуров

Создание градиента пути

GraphicsPath

GraphicsPath::Flatten

GraphicsPath::Warp

GraphicsPath::Widen

Матрица

Пути