Grafis::D rawBeziers(constPen*,constPointF*,INT) metode (gdiplusgraphics.h)
Metode Graphics::D rawBeziers menggambar urutan spline Bézier yang terhubung.
Sintaks
Status DrawBeziers(
const Pen *pen,
const PointF *points,
INT count
);
Parameter
pen
Arahkan ke pena yang digunakan untuk menggambar spline Bézier.
points
Penunjuk ke array objek PointF yang menentukan titik awal, akhir, dan kontrol spline Bézier.
count
Bilangan bulat yang menentukan jumlah elemen dalam array titik .
Nilai kembali
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
Spline Bézier tidak melewati titik kontrolnya. Titik kontrol bertindak sebagai magnet, menarik kurva ke arah tertentu untuk mempengaruhi cara spline Bézier membungkuk. Setiap spline Bézier memerlukan titik awal dan titik akhir. Setiap titik akhir adalah titik awal untuk spline Bézier berikutnya.
Contoh
Contoh berikut menggambar sepasang kurva Bézier.
VOID Example_DrawBeziers2(HDC hdc)
{
Graphics graphics(hdc);
// Define a Pen object and an array of PointF objects.
Pen greenPen(Color(255, 0, 255, 0), 3);
PointF startPoint(100.0f, 100.0f);
PointF ctrlPoint1(200.0f, 50.0f);
PointF ctrlPoint2(400.0f, 10.0f);
PointF endPoint1(500.0f, 100.0f);
PointF ctrlPoint3(600.0f, 200.0f);
PointF ctrlPoint4(700.0f, 400.0f);
PointF endPoint2(500.0f, 500.0f);
PointF curvePoints[7] = {
startPoint,
ctrlPoint1,
ctrlPoint2,
endPoint1,
ctrlPoint3,
ctrlPoint4,
endPoint2};
// Draw the Bezier curves.
graphics.DrawBeziers(&greenPen, curvePoints, 7);
// Draw the control and end points.
SolidBrush redBrush(Color(255, 255, 0, 0));
graphics.FillEllipse(&redBrush, Rect(100 - 5, 100 - 5, 10, 10));
graphics.FillEllipse(&redBrush, Rect(500 - 5, 100 - 5, 10, 10));
graphics.FillEllipse(&redBrush, Rect(500 - 5, 500 - 5, 10, 10));
SolidBrush blueBrush(Color(255, 0, 0, 255));
graphics.FillEllipse(&blueBrush, Rect(200 - 5, 50 - 5, 10, 10));
graphics.FillEllipse(&blueBrush, Rect(400 - 5, 10 - 5, 10, 10));
graphics.FillEllipse(&blueBrush, Rect(600 - 5, 200 - 5, 10, 10));
graphics.FillEllipse(&blueBrush, Rect(700 - 5, 400 - 5, 10, 10));
}
Persyaratan
Persyaratan | Nilai |
---|---|
Header | gdiplusgraphics.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