Aracılığıyla paylaş


Çizgilerden, Eğrilerden ve Şekillerden Şekiller Oluşturma

Yol oluşturmak için bir GraphicsPath nesnesi oluşturun ve ardından yola temel öğeler eklemek için AddLine ve AddCurve gibi yöntemleriçağırın.

Aşağıdaki örnek, tek bir yay içeren bir yol oluşturur. Yay, varsayılan koordinat sisteminde saat yönünün tersine olan –180 derecelik bir süpürme açısına sahiptir.

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

Aşağıdaki örnek, iki şekilli bir yol oluşturur. İlk şekil bir yay ve ardından bir çizgidir. İkinci şekil, bir çizgi, ardından bir eğri ve ardından bir çizgidir. İlk şekil açık bırakılır ve ikinci şekil kapatılır.

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);

Yollara çizgi ve eğri eklemenin yanı sıra, kapalı şekiller de ekleyebilirsiniz: dikdörtgenler, üç nokta, pastalar ve çokgenler. Aşağıdaki örnek, iki çizgi, bir dikdörtgen ve bir elips içeren bir yol oluşturur. Kod, yolu çizmek için kalem ve yolu doldurmak için bir fırça kullanır.

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);

Önceki örnekteki yolun üç rakamı vardır. İlk şekil iki çizgiden, ikinci şekil dikdörtgenden, ve üçüncü şekil elipsten oluşur. GraphicsPath::CloseFigure veya GraphicsPath::StartFigureçağrısı olmasa bile dikdörtgenler ve üç nokta gibi içsel olarak kapalı şekiller ayrı şekiller olarak kabul edilir.