Membuat Gambar dari Garis, Kurva, dan Bentuk

Untuk membuat jalur, buat objek GraphicsPath , lalu panggil metode, seperti AddLine dan AddCurve, untuk menambahkan primitif ke jalur.

Contoh berikut membuat jalur yang memiliki satu busur. Busur memiliki sudut sapuan –180 derajat, yang berlawanan arah jarum arah dalam sistem koordinat default.

Pen pen(Color(255, 255, 0, 0));
GraphicsPath path;
path.AddArc(175, 50, 50, 50, 0, -180);
graphics.DrawPath(&pen, &path);

Contoh berikut membuat jalur yang memiliki dua gambar. Angka pertama adalah busur diikuti oleh garis. Gambar kedua adalah garis yang diikuti oleh kurva, diikuti oleh garis. Angka pertama dibiarkan terbuka, dan angka kedua ditutup.

Point points[] = {Point(40, 60), Point(50, 70), Point(30, 90)};

Pen pen(Color(255, 255, 0, 0), 2);
GraphicsPath path;

// The first figure is started automatically, so there is
// no need to call StartFigure here.
path.AddArc(175, 50, 50, 50, 0.0f, -180.0f);
path.AddLine(100, 0, 250, 20);

path.StartFigure();
path.AddLine(50, 20, 5, 90);
path.AddCurve(points, 3);
path.AddLine(50, 150, 150, 180);
path.CloseFigure();

graphics.DrawPath(&pen, &path);

Selain menambahkan garis dan kurva ke jalur, Anda dapat menambahkan bentuk tertutup: persegi panjang, elipsis, pai, dan poligon. Contoh berikut membuat jalur yang memiliki dua baris, persegi panjang, dan elips. Kode ini menggunakan pena untuk menggambar jalur dan kuas untuk mengisi jalur.

GraphicsPath path;
Pen          pen(Color(255, 255, 0, 0), 2);
SolidBrush   brush(Color(255, 0, 0, 200));

path.AddLine(10, 10, 100, 40);
path.AddLine(100, 60, 30, 60);
path.AddRectangle(Rect(50, 35, 20, 40));
path.AddEllipse(10, 75, 40, 30);

graphics.DrawPath(&pen, &path);
graphics.FillPath(&brush, &path);

Jalur dalam contoh sebelumnya memiliki tiga angka. Angka pertama terdiri dari dua baris, angka kedua terdiri dari persegi panjang, dan angka ketiga terdiri dari elips. Bahkan ketika tidak ada panggilan ke GraphicsPath::CloseFigure atau GraphicsPath::StartFigure, bentuk yang tertutup secara intrinsik, seperti persegi panjang dan elipsis, dianggap sebagai gambar terpisah.