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
points 配列内の要素の数を指定する整数。 これは、 型 配列内の要素の数と同じです。
戻り値
型: INT
このメソッドは、取得したポイントの数を返します。
注釈
この GraphicsPathIterator オブジェクトは GraphicsPath オブジェクトに関連付けられています。 その GraphicsPath オブジェクトには、ポイントの配列と型の配列があります。 型の配列内の各要素は、ポイント型と、ポイントの配列内の対応する要素のフラグのセットを指定するバイトです。 使用可能なポイントの種類とフラグは、 PathPointType 列挙に一覧表示されます。
GraphicsPathIterator::GetCount メソッドを呼び出して、パス内のデータ ポイントの数を決定できます。 points パラメーターはデータ ポイントを受け取るバッファーを指し、types パラメーターは型を受け取るバッファーを指します。 GraphicsPathIterator::Enumerate メソッドを呼び出す前に、それらのバッファーにメモリを割り当てる必要があります。 ポイント バッファーのサイズは、GraphicsPathIterator::GetCount の戻り値に sizeof(PointF) を掛けた値にする必要があります。 型バッファーのサイズは 、GraphicsPathIterator::GetCount の戻り値にする必要があります。
例
次の例では 、GraphicsPath オブジェクトを作成し、パスに 3 行を追加します。 このコードでは 、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 を含む) |
Library | Gdiplus.lib |
[DLL] | Gdiplus.dll |
関連項目
GraphicsPathIterator::CopyData