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 |
另請參閱
GraphicsPathIterator::Enumerate