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