Метод 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 |