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 |