Método GraphicsPath::AddCurve(constPointF*,INT,INT,INT,REAL) (gdipluspath.h)
O método GraphicsPath::AddCurve adiciona um spline cardinal à figura atual desse caminho.
Sintaxe
Status AddCurve(
[in] const PointF *points,
[in] INT count,
[in] INT offset,
[in] INT numberOfSegments,
[in] REAL tension
);
Parâmetros
[in] points
Tipo: const PointF*
Ponteiro para uma matriz de pontos que definem o spline cardinal. O spline cardinal é uma curva que passa por um subconjunto (especificado pelos parâmetros offset e numberOfSegments ) dos pontos na matriz.
[in] count
Tipo: INT
Inteiro que especifica o número de elementos na matriz de pontos .
[in] offset
Tipo: INT
Inteiro que especifica o índice do elemento de matriz que é usado como o primeiro ponto do spline cardinal.
[in] numberOfSegments
Tipo: INT
Inteiro que especifica o número de segmentos no spline cardinal. Segmentos são as curvas que conectam pontos consecutivos na matriz.
[in] tension
Tipo: REAL
Número real não negativo que controla o comprimento da curva e como a curva se curva. Um valor 0 especifica que o spline é uma sequência de segmentos de linha reta. À medida que o valor aumenta, a curva fica mais completa.
Retornar valor
Tipo: Status
Se o método for bem-sucedido, ele retornará Ok, que é um elemento da enumeração Status .
Se o método falhar, ele retornará um dos outros elementos da enumeração Status .
Comentários
Você deverá manter uma cópia da matriz de pontos se esses pontos forem necessários mais tarde. O objeto GraphicsPath não armazena os pontos passados para o método AddClosedCurve ; em vez disso, converte o spline cardinal em uma sequência de splines Bézier e armazena os pontos que definem essas splines Bézier. Não é possível recuperar a matriz original de pontos do objeto GraphicsPath .
Exemplos
O exemplo a seguir cria um caminho de objeto GraphicsPath, adiciona um spline cardinal ao caminho e desenha o caminho. O spline é criado a partir dos pontos indexados de 2 a 6 em uma matriz de oito pontos.
VOID AddCurveExample3(HDC hdc)
{
Graphics graphics(hdc);
GraphicsPath path;
PointF pts[] = {PointF(50.0f, 50.0f),
PointF(70.0f, 80.0f),
PointF(100.0f, 100.0f),
PointF(130.0f, 40.0f),
PointF(150.0f, 90.0f),
PointF(180.0f, 30.0f),
PointF(210.0f, 120.0f),
PointF(240.0f, 80.0f)};
path.AddCurve(
pts,
8, // There are eight points in the array.
2, // Start at the point with index 2.
4, // Four segments. End at the point with index 6.
1.0f);
Pen pen(Color(255, 0, 0, 255));
graphics.DrawPath(&pen, &path);
// Draw all eight points in the array.
SolidBrush brush(Color(255, 255, 0, 0));
for(INT j = 0; j <= 7; ++j)
graphics.FillEllipse(&brush, pts[j].X - 3.0f, pts[j].Y - 3.0f, 6.0f, 6.0f);
}
Color(255, 255, 0, 0)
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows XP, Windows 2000 Professional [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows 2000 Server [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | gdipluspath.h (inclua Gdiplus.h) |
Biblioteca | Gdiplus.lib |
DLL | Gdiplus.dll |
Confira também
Construindo e desenhando demarcadores