GraphicsPath::GetPathPoints(PointF*,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.

Sintaks

Status GetPathPoints(
  PointF *points,
  INT    count
);

Parameter

points

Penunjuk ke array objek PointF 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 yang dikembalikan dari GraphicsPath::GetPointCount dikalikan dengan sizeof(PointF).

count

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

Mengembalikan nilai

Type: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 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;

   PointF points[] = {
      PointF(200, 200),
      PointF(250, 240),
      PointF(200, 300),
      PointF(300, 310),
      PointF(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();
   PointF* dataPoints = new PointF[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

Persyaratan Nilai
Header gdipluspath.h

Lihat juga

GraphicsPath

GraphicsPath::GetPathData

GraphicsPath::GetPathTypes

GraphicsPath::GetPointCount

PathData

PathPointType

PointF

Kliping dengan Wilayah

Membuat dan Menggambar Jalur

Membuat Gradien Jalur

Jalan