Bagikan melalui


GraphicsPathIterator::Enumerate method (gdipluspath.h)

Metode GraphicsPathIterator::Enumerate menyalin titik data jalur ke array PointF dan menyalin jenis titik jalur ke array BYTE .

Sintaks

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

Parameter

[out] points

Jenis: PointF*

Penunjuk ke array yang menerima titik data jalur.

[out] types

Jenis: BYTE*

Penunjuk ke array yang menerima jenis titik jalur.

[in] count

Jenis: INT

Bilangan bulat yang menentukan jumlah elemen dalam array titik . Ini sama dengan jumlah elemen dalam array jenis .

Nilai kembali

Jenis: INT

Metode ini mengembalikan jumlah titik yang diambil.

Keterangan

Objek GraphicsPathIterator ini dikaitkan dengan objek GraphicsPath . Objek GraphicsPath tersebut memiliki array titik dan array jenis. Setiap elemen dalam array jenis adalah byte yang menentukan jenis titik dan sekumpulan bendera untuk elemen yang sesuai dalam array titik. Kemungkinan jenis titik dan bendera tercantum dalam enumerasi PathPointType .

Anda dapat memanggil metode GraphicsPathIterator::GetCount untuk menentukan jumlah titik data di jalur. Parameter titik menunjuk ke buffer yang menerima titik data, dan parameter jenis menunjuk ke buffer yang menerima jenis. Sebelum Anda memanggil metode GraphicsPathIterator::Enumerate , Anda harus mengalokasikan memori untuk buffer tersebut. Ukuran buffer titik harus menjadi nilai pengembalian GraphicsPathIterator::GetCount dikalikan dengan sizeof(PointF). Ukuran buffer jenis harus menjadi nilai pengembalian GraphicsPathIterator::GetCount.

Contoh

Contoh berikut membuat objek GraphicsPath dan menambahkan tiga baris ke jalur. Kode ini membuat objek GraphicsPathIterator dan memanggil metode GraphicsPathIterator::Enumerate untuk mengambil titik data jalur dan jenis titik. Kemudian kode menampilkan hitungan yang dikembalikan oleh metode 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;

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows XP, Windows 2000 Professional [hanya aplikasi desktop]
Server minimum yang didukung Windows 2000 Server [hanya aplikasi desktop]
Target Platform Windows
Header gdipluspath.h (termasuk Gdiplus.h)
Pustaka Gdiplus.lib
DLL Gdiplus.dll

Lihat juga

Membuat dan Menggambar Jalur

GetPathData

Metode GetPathPoints

GetPathTypes

GetPointCount

GraphicsPath

GraphicsPathIterator

GraphicsPathIterator::CopyData

GraphicsPathIterator::GetCount

Jalan