Método GraphicsPath::AddCurve(constPoint*,INT,INT,INT,REAL) (gdipluspath.h)
O método GraphicsPath::AddCurve adiciona um spline cardinal à figura atual desse caminho.
Sintaxe
Status AddCurve(
[in] const Point *points,
[in] INT count,
[in] INT offset,
[in] INT numberOfSegments,
[in] REAL tension
);
Parâmetros
[in] points
Tipo: const Point*
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.
Valor retornado
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 AddCurveExample2(HDC hdc)
{
GraphicsPath path;
Graphics graphics(hdc);
Point pts[] = {Point(50, 50),
Point(70, 80),
Point(100, 100),
Point(130, 40),
Point(150, 90),
Point(180, 30),
Point(210, 120),
Point(240, 80)};
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, pts[j].Y - 3, 6, 6);
}
Requisitos
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