GraphicsPath::AddCurve(constPoint*,INT,INT,INT,REAL) metode (gdipluspath.h)

Metode GraphicsPath::AddCurve menambahkan spline kardinal ke gambar jalur ini saat ini.

Sintaks

Status AddCurve(
  [in] const Point *points,
  [in] INT         count,
  [in] INT         offset,
  [in] INT         numberOfSegments,
  [in] REAL        tension
);

Parameter

[in] points

Jenis: const Point*

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.

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

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 AddCurveExample2(HDC hdc)
{
   GraphicsPath   path;
   Graphics graphics(hdc);
   
   Point pts[] = {Point(50, 50),
                  Point(70, 80),
                  Point(100, 100),
                  Point(130, 40),
                  Point(150, 90),
                  Point(180, 30),
                  Point(210, 120),
                  Point(240, 80)};
   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, pts[j].Y - 3, 6, 6);
}

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

Tambahkan MetodeBezier

Metode AddBeziers

Metode AddClosedCurve

Metode AddCurve

Spline Kardinal

Kliping dengan Wilayah

Membuat dan Menggambar Jalur

Membuat Gradien Jalur

Menggambar Kardinal Splines

GraphicsPath

Jalan

Titik