GraphicsPath::AddCurve(constPointF*,INT,INT,INT,REAL) metode (gdipluspath.h)
Metode GraphicsPath::AddCurve menambahkan spline kardinal ke gambar jalur ini saat ini.
Sintaks
Status AddCurve(
[in] const PointF *points,
[in] INT count,
[in] INT offset,
[in] INT numberOfSegments,
[in] REAL tension
);
Parameter
[in] points
Jenis: const PointF*
Penunjuk ke array titik yang menentukan spline kardinal. Spline kardinal adalah kurva yang melewati subset (ditentukan oleh parameter offset dan numberOfSegments ) dari titik dalam array.
[in] count
Jenis: INT
Bilangan bulat yang menentukan jumlah elemen dalam array titik .
[in] offset
Jenis: INT
Bilangan bulat yang menentukan indeks elemen array yang digunakan sebagai titik pertama spline kardinal.
[in] numberOfSegments
Jenis: INT
Bilangan bulat yang menentukan jumlah segmen dalam spline kardinal. Segmen adalah kurva yang menghubungkan titik berturut-turut dalam array.
[in] tension
Jenis: NYATA
Bilangan riil nonnegatif yang mengontrol panjang kurva dan bagaimana kurva membungkuk. Nilai 0 menentukan bahwa spline adalah urutan segmen garis lurus. Saat nilai meningkat, kurva menjadi lebih penuh.
Mengembalikan 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
Anda harus menyimpan salinan array titik jika titik tersebut akan diperlukan nanti. Objek GraphicsPath tidak menyimpan titik yang diteruskan ke metode AddClosedCurve ; sebaliknya, ia mengubah spline kardinal menjadi urutan spline Bézier dan menyimpan titik-titik yang mendefinisikan spline Bézier tersebut. Anda tidak dapat mengambil array titik asli dari objek GraphicsPath .
Contoh
Contoh berikut membuat jalur objek GraphicsPath, menambahkan spline kardinal ke jalur, lalu menggambar jalur. Spline dibangun dari titik yang diindeks 2 hingga 6 dalam array delapan poin.
VOID AddCurveExample3(HDC hdc)
{
Graphics graphics(hdc);
GraphicsPath path;
PointF pts[] = {PointF(50.0f, 50.0f),
PointF(70.0f, 80.0f),
PointF(100.0f, 100.0f),
PointF(130.0f, 40.0f),
PointF(150.0f, 90.0f),
PointF(180.0f, 30.0f),
PointF(210.0f, 120.0f),
PointF(240.0f, 80.0f)};
path.AddCurve(
pts,
8, // There are eight points in the array.
2, // Start at the point with index 2.
4, // Four segments. End at the point with index 6.
1.0f);
Pen pen(Color(255, 0, 0, 255));
graphics.DrawPath(&pen, &path);
// Draw all eight points in the array.
SolidBrush brush(Color(255, 255, 0, 0));
for(INT j = 0; j <= 7; ++j)
graphics.FillEllipse(&brush, pts[j].X - 3.0f, pts[j].Y - 3.0f, 6.0f, 6.0f);
}
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 |