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

Bilangan riil nonnegative 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 mengonversi 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

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

Lihat juga

Tambahkan MetodeBezier

Tambahkan MetodeBeziers

Metode AddClosedCurve

Metode AddCurve

Spline Kardinal

Kliping dengan Wilayah

Membuat dan Menggambar Jalur

Membuat Gradien Jalur

Menggambar Spline Kardinal

GraphicsPath

Jalan

PointF