Método Graphics::D rawCurve(constPen*,constPointF*,INT,INT,INT,REAL) (gdiplusgraphics.h)
O método Graphics::D rawCurve desenha uma spline cardinal.
Sintaxe
Status DrawCurve(
[in] const Pen *pen,
[in] const PointF *points,
[in] INT count,
[in] INT offset,
[in] INT numberOfSegments,
[in] REAL tension
);
Parâmetros
[in] pen
Tipo: caneta* const
Ponteiro para uma caneta usada para desenhar o spline cardinal.
[in] points
Tipo: const PointF*
Ponteiro para uma matriz de objetos PointF que especificam as coordenadas pelas quais o spline cardinal passa.
[in] count
Tipo: INT
Inteiro que especifica o número de elementos na matriz de pontos .
[in] offset
Tipo: INT
Inteiro que especifica o elemento na matriz de pontos que especifica o ponto no qual o spline cardinal começa.
[in] numberOfSegments
Tipo: INT
Inteiro que especifica o número de segmentos no spline cardinal.
[in] tension
Tipo: REAL
Número real que especifica o quão firmemente a curva se curva através das coordenadas do spline cardinal.
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
Um segmento é definido como uma curva que conecta dois pontos consecutivos no spline cardinal. O ponto final de cada segmento é o ponto de partida para o próximo. O parâmetro numberOfSegments não deve ser maior que o parâmetro count menos o parâmetro de deslocamento mais um.
Exemplos
O exemplo a seguir desenha uma spline cardinal.
VOID Example_DrawCurve5(HDC hdc)
{
Graphics graphics(hdc);
// Define a Pen object and an array of PointF objects.
Pen greenPen(Color::Green, 3);
PointF point1(100.0f, 100.0f);
PointF point2(200.0f, 50.0f);
PointF point3(400.0f, 10.0f);
PointF point4(500.0f, 100.0f);
PointF curvePoints[4] = {
point1,
point2,
point3,
point4};
PointF* pcurvePoints = curvePoints;
// Specify offset, number of segments to draw, and tension.
int offset = 1;
int segments = 2;
REAL tension = 1.0f;
// Draw the curve.
graphics.DrawCurve(&greenPen, curvePoints, 4, offset, segments, tension);
//Draw the points in the curve.
SolidBrush redBrush(Color::Red);
graphics.FillEllipse(&redBrush, Rect(95, 95, 10, 10));
graphics.FillEllipse(&redBrush, Rect(195, 45, 10, 10));
graphics.FillEllipse(&redBrush, Rect(395, 5, 10, 10));
graphics.FillEllipse(&redBrush, Rect(495, 95, 10, 10));
}
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 | gdiplusgraphics.h (inclua Gdiplus.h) |
Biblioteca | Gdiplus.lib |
DLL | Gdiplus.dll |