Bagikan melalui


GraphicsPath::GetPathPoints(Point*,INT) metode (gdipluspath.h)

Metode GraphicsPath::GetPathPoints mendapatkan array titik jalur ini. Array berisi titik akhir dan titik kontrol garis dan spline Bézier yang digunakan untuk menggambar jalur.

Sintaksis

Status GetPathPoints(
  [out] Point *points,
  [in]  INT   count
);

Parameter

[out] points

Jenis: Titik

Penunjuk ke array objek Titik yang menerima titik data. Anda harus mengalokasikan memori untuk array ini. Anda dapat memanggil metode GraphicsPath::GetPointCount untuk menentukan ukuran array yang diperlukan. Ukurannya, dalam byte, harus menjadi nilai pengembalian GraphicsPath::GetPointCount dikalikan dengan ukuran dari(Point).

[in] count

Jenis: INT

Bilangan bulat yang menentukan jumlah elemen dalam titik array. Atur parameter ini sama dengan nilai pengembalian metode GraphicsPath::GetPointCount.

Mengembalikan nilai

Jenis: Status

Jika metode berhasil, metode mengembalikan Ok, yang merupakan elemen dari enumerasi Status .

Jika metode gagal, metode mengembalikan salah satu elemen lain dari enumerasi Status.

Komentar

Objek GraphicsPath 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.

Contoh

Contoh berikut membuat dan menggambar jalur yang memiliki garis, persegi panjang, elips, dan kurva. Kode memanggil metode GraphicsPath jalur::GetPointCount untuk menentukan jumlah titik data yang disimpan di jalur. Kode mengalokasikan buffer yang cukup besar untuk menerima array titik data dan meneruskan alamat buffer tersebut ke metode GraphicsPath::GetPathPoints. Akhirnya, kode menggambar masing-masing titik data jalur.

VOID GetPathPointsExample(HDC hdc)
{
   Graphics graphics(hdc);

   // Create a path that has a line, a rectangle, an ellipse, and a curve.
   GraphicsPath path;

   Point points[] = {
      Point(200, 200),
      Point(250, 240),
      Point(200, 300),
      Point(300, 310),
      Point(250, 350)};

   path.AddLine(20, 100, 150, 200);
   path.AddRectangle(Rect(40, 30, 80, 60));
   path.AddEllipse(Rect(200, 30, 200, 100));
   path.AddCurve(points, 5);

   // Draw the path.
   Pen pen(Color(255, 0, 0, 255));
   graphics.DrawPath(&pen, &path);

   // Get the path points.
   INT count = path.GetPointCount();
   Point* dataPoints = new Point[count];
   path.GetPathPoints(dataPoints, count);

   // Draw the path's data points.
   SolidBrush brush(Color(255, 255, 0, 0));
   for(INT j = 0; j < count; ++j)
   {
      graphics.FillEllipse(
         &brush, 
         dataPoints[j].X - 3.0f, 
         dataPoints[j].Y - 3.0f,
         6.0f,
         6.0f);
   }
   delete [] dataPoints; 
}
Color(255, 255, 0,  0)

Persyaratan

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

Lihat juga

Kliping dengan Wilayah

Membuat dan Menggambar Jalur

Membuat Gradien Jalur

GraphicsPath

GraphicsPath::GetPathData

GraphicsPath::GetPathTypes

GraphicsPath::GetPointCount

PathData

PathPointType

Jalur

Point