GraphicsPath::GetPathPoints(Point*,INT) 方法 (gdipluspath.h)
GraphicsPath::GetPathPoints 方法會取得此路徑的點陣列。 數位包含線條的端點和控制點,以及用來繪製路徑的 Bézier 曲線。
語法
Status GetPathPoints(
[out] Point *points,
[in] INT count
);
參數
[out] points
類型:點*
接收數據點之 Point 物件的陣列指標。 您必須為此陣列設定記憶體。 您可以呼叫 GraphicsPath::GetPointCount 方法來判斷陣列所需的大小。 大小,以位元組為單位,應該是 GraphicsPath::GetPointCount 的傳回值, 乘以 sizeof(Point)。
[in] count
類型:INT
整數,指定陣列中 點數。 將此參數設定為等於 GraphicsPath::GetPointCount 方法的傳回值。
傳回值
類型:狀態
如果方法成功,它會傳回Ok,這是 Status 列舉的元素。
如果方法失敗,它會傳回 Status 列舉的其他元素之一。
言論
GraphicsPath 物件具有點陣列和類型的數位。 型別數位中的每個元素都是位元組,指定點類型,以及點陣列中對應元素的一組旗標。 可能的點類型和旗標會列在 PathPointType 列舉中。
例子
下列範例會建立並繪製具有線條、矩形、橢圓形和曲線的路徑。 程序代碼會呼叫路徑的 GraphicsPath::GetPointCount 方法來判斷儲存在路徑中的數據點數目。 程序代碼會配置足以接收數據點數位的緩衝區,並將該緩衝區的位址傳遞至 GraphicsPath::GetPathPoints 方法。 最後,程式代碼會繪製每個路徑的數據點。
VOID GetPathPointsExample(HDC hdc)
{
Graphics graphics(hdc);
// Create a path that has a line, a rectangle, an ellipse, and a curve.
GraphicsPath path;
Point points[] = {
Point(200, 200),
Point(250, 240),
Point(200, 300),
Point(300, 310),
Point(250, 350)};
path.AddLine(20, 100, 150, 200);
path.AddRectangle(Rect(40, 30, 80, 60));
path.AddEllipse(Rect(200, 30, 200, 100));
path.AddCurve(points, 5);
// Draw the path.
Pen pen(Color(255, 0, 0, 255));
graphics.DrawPath(&pen, &path);
// Get the path points.
INT count = path.GetPointCount();
Point* dataPoints = new Point[count];
path.GetPathPoints(dataPoints, count);
// Draw the path's data points.
SolidBrush brush(Color(255, 255, 0, 0));
for(INT j = 0; j < count; ++j)
{
graphics.FillEllipse(
&brush,
dataPoints[j].X - 3.0f,
dataPoints[j].Y - 3.0f,
6.0f,
6.0f);
}
delete [] dataPoints;
}
Color(255, 255, 0, 0)
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | Windows XP、Windows 2000 Professional [僅限傳統型應用程式] |
支援的最低伺服器 | Windows 2000 Server [僅限傳統型應用程式] |
目標平臺 | 窗戶 |
標頭 | gdipluspath.h (包括 Gdiplus.h) |
連結庫 | Gdiplus.lib |
DLL | Gdiplus.dll |
另請參閱
使用區域 進行裁剪