GraphicsPath::GetPathPoints(Point*,INT) method (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.

Sintaks

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

Parameter

[out] points

Jenis: Titik*

Arahkan 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. Ukuran, dalam byte, harus menjadi nilai pengembalian GraphicsPath::GetPointCount dikalikan dengan sizeof(Point).

[in] count

Jenis: INT

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

Menampilkan 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 .

Keterangan

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::GetPointCount jalur untuk menentukan jumlah titik data yang disimpan di jalur. Kode mengalokasikan buffer yang cukup besar untuk menerima array poin 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

   
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

Kliping dengan Wilayah

Membuat dan Menggambar Jalur

Membuat Gradien Jalur

GraphicsPath

GraphicsPath::GetPathData

GraphicsPath::GetPathTypes

GraphicsPath::GetPointCount

PathData

PathPointType

Jalan

Titik