Bagikan melalui


GraphicsPath::Metode GetPathData (gdipluspath.h)

Metode GraphicsPath::GetPathData mendapatkan array titik dan array jenis titik dari jalur ini. Bersama-sama, kedua array ini mendefinisikan garis, kurva, gambar, dan penanda jalur ini.

Sintaks

Status GetPathData(
  [out] PathData *pathData
);

Parameter

[out] pathData

Jenis: PathData*

Penunjuk ke objek PathData yang menerima data jalur. Anggota data Points dari objek PathData menerima pointer ke array objek PointF yang berisi titik jalur. Anggota data Jenis objek PathData menerima penunjuk ke array byte yang berisi jenis titik. Anggota data Count dari objek PathData menerima bilangan bulat yang menunjukkan jumlah elemen dalam array Points .

Nilai kembali

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 .

Anda tidak perlu mengalokasikan atau membatalkan alokasi memori untuk array titik atau array jenis. Metode GraphicsPath::GetPathData mengalokasikan memori untuk array (titik dan jenis) yang dikembalikannya. Destruktor PathData membatalkan alokasi memori untuk array tersebut.

Contoh

Contoh berikut membuat dan menggambar jalur yang memiliki garis, persegi panjang, elips, dan kurva. Kode mendapatkan titik dan jenis jalur dengan meneruskan alamat objek PathData ke metode GraphicsPath::GetPathData . Kemudian kode menggambar masing-masing titik data jalur.

VOID GetPathDataExample(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 data.
   PathData pathData;
   path.GetPathData(&pathData);

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

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

Kliping dengan Wilayah

Membuat dan Menggambar Jalur

Membuat Gradien Jalur

Metode GetPathPoints

GraphicsPath

GraphicsPath::GetPathTypes

GraphicsPath::GetPointCount

PathData

PathPointType

Jalan

PointF