Jalur (GDI+)

Jalur dibentuk dengan menggabungkan garis, persegi panjang, dan kurva sederhana. Ingat dari Gambaran Umum Grafik Vektor bahwa blok penyusun dasar berikut telah terbukti paling berguna untuk menggambar gambar.

  • Garis
  • Persegi panjang
  • Elips
  • Arcs
  • Poligon
  • Spline kardinal
  • Spline Bézier

Di Windows GDI+, objek GraphicsPath memungkinkan Anda mengumpulkan urutan blok penyusun ini ke dalam satu unit. Seluruh urutan garis, persegi panjang, poligon, dan kurva kemudian dapat digambar dengan satu panggilan ke metode Graphics::D rawPath dari kelas Grafis . Ilustrasi berikut menunjukkan jalur yang dibuat dengan menggabungkan garis, busur, spline Bézier, dan spline kardinal.

ilustrasi jalur yang menggabungkan garis, busur, spline bezier, dan spline kardinal

Kelas GraphicsPath menyediakan metode berikut untuk membuat urutan item yang akan digambar: AddLine, AddRectangle, AddEllipse, AddArc, AddPolygon, AddCurve (untuk spline kardinal), dan AddBezier. Masing-masing metode ini kelebihan beban; artinya, setiap metode hadir dalam beberapa variasi dengan daftar parameter yang berbeda. Misalnya, satu variasi metode AddLine menerima empat bilangan bulat, dan variasi lain dari metode AddLine menerima dua objek Titik .

Metode untuk menambahkan garis, persegi panjang, dan spline Bézier ke jalur memiliki metode pendamping jamak yang menambahkan beberapa item ke jalur dalam satu panggilan: AddLines, AddRectangles, dan AddBeziers. Selain itu, metode AddCurve memiliki metode pendamping, AddClosedCurve, yang menambahkan kurva tertutup ke jalur.

Untuk menggambar jalur, Anda memerlukan objek Grafis , objek Pena , dan objek GraphicsPath . Objek Grafis menyediakan metode Graphics::D rawPath , dan objek Pen menyimpan atribut jalur, seperti lebar dan warna garis. Objek GraphicsPath menyimpan urutan garis, persegi panjang, dan kurva yang membentuk jalur. Alamat objek Pena dan objek GraphicsPath diteruskan sebagai argumen ke metode Graphics::D rawPath . Contoh berikut menggambar jalur yang terdiri dari garis, elips, dan spline Bézier.

myGraphicsPath.AddLine(0, 0, 30, 20);
myGraphicsPath.AddEllipse(20, 20, 20, 40);
myGraphicsPath.AddBezier(30, 60, 70, 60, 50, 30, 100, 10);
myGraphics.DrawPath(&myPen, &myGraphicsPath);

Ilustrasi berikut ini memperlihatkan jalur.

ilustrasi jalur yang terdiri dari garis, elips, dan spline bezier

Selain menambahkan garis, persegi panjang, dan kurva ke jalur, Anda dapat menambahkan jalur ke jalur. Ini memungkinkan Anda menggabungkan jalur yang ada untuk membentuk jalur kompleks yang besar. Kode berikut menambahkan graphicsPath1 dan graphicsPath2 ke myGraphicsPath. Parameter kedua dari metode GraphicsPath::AddPath menentukan apakah jalur yang ditambahkan tersambung ke jalur yang ada.

myGraphicsPath.AddPath(&graphicsPath1, FALSE);
myGraphicsPath.AddPath(&graphicsPath2, TRUE);

Ada dua item lain yang dapat Anda tambahkan ke jalur: string dan pai. Pai adalah bagian dari interior elips. Contoh berikut membuat jalur dari busur, spline kardinal, string, dan pai.

myGraphicsPath.AddArc(0, 0, 30, 20, -90, 180);
myGraphicsPath.AddCurve(myPointArray, 3);
myGraphicsPath.AddString(L"a string in a path", 18, &myFontFamily, 
   0, 24, myPointF, &myStringFormat);
myGraphicsPath.AddPie(230, 10, 40, 40, 40, 110);
myGraphics.DrawPath(&myPen, &myGraphicsPath);

Ilustrasi berikut ini memperlihatkan jalur. Perhatikan bahwa jalur tidak harus terhubung; busur, spline kardinal, string, dan pai dipisahkan.

ilustrasi jalur yang terdiri dari garis yang terputus: busur, spline kardinal, string, dan pai