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
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk