共用方式為


GraphicsPathIterator::CopyData 方法 (gdipluspath.h)

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

語法

INT CopyData(
  [out] PointF *points,
  [out] BYTE   *types,
  [in]  INT    startIndex,
  [in]  INT    endIndex
);

參數

[out] points

類型: PointF*

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

[out] types

類型: BYTE*

接收路徑點型別子集之陣列的指標。

[in] startIndex

類型: INT

整數,指定要複製之點和型別的起始索引。

[in] endIndex

類型: INT

整數,指定要複製之點和型別的結束索引。

傳回值

類型: INT

這個方法會傳回復制的點數。 這與複製的類型數目相同。

備註

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

您可以呼叫 GraphicsPathIterator::GetCount 方法來判斷路徑中的數據點數目。

範例

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


#define BUFFER_SIZE 30
TCHAR numPointsCopied[BUFFER_SIZE];

// Create the points for three lines in a path.
Point pts[] = { Point(20, 20), 
                Point(100, 20), 
                Point(100, 50), 
                Point(20, 50) };
GraphicsPath path;
path.AddLines(pts, 4); // Add the lines to the path.

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

// Create destination arrays, and copy the path data to them.
PointF* pCopiedPoints = new PointF[4]; 
BYTE* pTypes = new BYTE[4];
INT count = pathIterator.CopyData(pCopiedPoints, pTypes, 0, 3);

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

MessageBox(hWnd, numPointsCopied, TEXT("CopyData"), NULL);

delete[] pCopiedPoints;
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::Enumerate

GraphicsPathIterator::GetCount

路徑