共用方式為


GraphicsPathIterator::Enumerate 方法 (gdipluspath.h)

GraphicsPathIterator::Enumerate 方法會將路徑的數據點複製到 PointF 陣列,並將路徑的點類型複製到 BYTE 陣列。

語法

INT Enumerate(
  [out] PointF *points,
  [out] BYTE   *types,
  [in]  INT    count
);

參數

[out] points

類型: PointF*

接收路徑數據點之陣列的指標。

[out] types

類型: BYTE*

接收路徑點類型的陣列指標。

[in] count

類型: INT

整數,指定 陣列中的項目數目。 這與 型別 數位中的元素數目相同。

傳回值

類型: INT

這個方法會傳回所擷取的點數。

備註

這個 GraphicsPathIterator 物件與 GraphicsPath 對象相關聯。 該 GraphicsPath 物件具有點陣列和類型的數位。 型別數位中的每個元素都是位元組,指定點類型,以及點陣列中對應元素的一組旗標。 PathPointType 列舉中會列出可能的點類型和旗標。

您可以呼叫 GraphicsPathIterator::GetCount 方法來判斷路徑中的數據點數目。 points 參數會指向接收數據點的緩衝區,而型別參數會指向接收類型的緩衝區。 呼叫 GraphicsPathIterator::Enumerate 方法之前,您必須為這些緩衝區配置記憶體。 緩衝區的大小應該是 GraphicsPathIterator::GetCount 的傳回值乘以 sizeof (PointF) 。 類型緩衝區的大小應該是 GraphicsPathIterator::GetCount 的傳回值。

範例

下列範例會建立 GraphicsPath 物件,並將三行新增至路徑。 程序代碼會建立 GraphicsPathIterator 物件,並呼叫其 GraphicsPathIterator::Enumerate 方法來擷取路徑的數據點和點類型。 然後,程式代碼會顯示 GraphicsPathIterator::Enumerate 方法所傳回的計數。


#define BUFFER_SIZE 30
TCHAR numPointsEnum[BUFFER_SIZE];

// Add some lines to a path.
Point pts[] = {Point(20, 20), 
                Point(100, 20), 
                Point(100, 50), 
                Point(20, 50)};
GraphicsPath path;
path.AddLines(pts, 4);

// Create a GraphicsPathIterator object, and associate it with the path.
GraphicsPathIterator pathIterator(&path);

// Create destination arrays, and copy the path data to them.
UINT c = pathIterator.GetCount();
PointF* pEnumPoints = new PointF[c]; 
BYTE* pTypes = new BYTE[c];
INT count = pathIterator.Enumerate(pEnumPoints, pTypes, c);

// Confirm that the points were enumerated.
StringCchPrintf(
   numPointsEnum, BUFFER_SIZE, TEXT("%d points were enumerated."), count);

MessageBox(hWnd, numPointsEnum, TEXT("Enumerate"), NULL);

delete[] pEnumPoints;
delete[] pTypes;

規格需求

需求
最低支援的用戶端 Windows XP、Windows 2000 Professional [僅限傳統型應用程式]
最低支援的伺服器 Windows 2000 Server [僅限傳統型應用程式]
目標平台 Windows
標頭 gdipluspath.h (包含 Gdiplus.h)
程式庫 Gdiplus.lib
Dll Gdiplus.dll

另請參閱

建構和繪製路徑

GetPathData

GetPathPoints 方法

GetPathTypes

GetPointCount

GraphicsPath

GraphicsPathIterator

GraphicsPathIterator::CopyData

GraphicsPathIterator::GetCount

路徑