HIK Elektronikus Felsőoktatási Tankönyv- és Szakkönyvtár
A Kempelen Farkas Felsőoktatási Digitális Tankönyvtár/vagy más megjelenítő által közvetített digitális tartalmat a felhasználó a szerzői jogról szóló 1999. évi LXXVI. tv. 33. paragrafus (4) bekezdésében meghatározott oktatási, illetve tudományos kutatási célra használhatja fel. A felhasználó a digitális tartalmat képernyőn megjelenítheti, letöltheti, arról elektronikus adathordozóra vagy papíralapon másolatot készíthet, adatrögzítő rendszerében tárolhatja. A Kempelen Farkas Felsőoktatási Digitális Tankönyvtár/vagy más megjelenítő weblapján található digitális tartalmak üzletszerû felhasználása tilos, valamint kizárt a digitális tartalom módosítása és átdolgozása, illetve az ilyen módon keletkezett származékos anyag további felhasználása.

17.13. A koordináta rendszer transzformálása és a Path használata

A GDI+-ban lehetőségünk van grafikus objektumok összefűzésére, azaz, path létrehozására.

A GraphicsPath objektum lehetőséget nyújt a grafikus elemek egyetlen blokként való kezelésére. A Garphics osztály DrawPath metódusának hívásával rajzolhatjuk meg a GarphicsPath szekvenciát, amelynek elemeit felsoroljuk, a felfűzéshez szükséges metódusokkal:

  • Szakasz, AddLine, AddLines.

  • Téglalap, AddRectangle, AddRectangles.

  • Ellipszis, AddEllipse.

  • Ellipszis ív, AddArc.

  • Poligon, AddPolygon.

  • Cardinal spline, AddCurve, AddClosedCurve.

  • Bézier-görbe, AddBezier, AddBeziers.

  • Körcikk, AddPie.

  • Szöveg, AddString.

  • Összefűzött grafikus objektumok, AddPath.

Tehát a path megrajzolásához szükségünk van a Graphics, a Pen és a GraphPath objektumokra. Lássunk egy példát:

{Graphics myGraphics= e.Graphics;

GraphicsPath myGraphicsPath = new GraphicsPath();

Point[] myPointArray = {

new Point(40, 10),

new Point(50, 50),

new Point(180, 30)

};

FontFamily myFontFamily = new FontFamily("Times New Roman");

PointF myPointF = new PointF(50, 20);

StringFormat myStringFormat = new StringFormat();

myGraphicsPath.AddArc(0, 0, 30, 20, -60, 230);

//Új figura kezdése

myGraphicsPath.StartFigure();

myGraphicsPath.AddCurve(myPointArray);

myGraphicsPath.AddString("Hello!", myFontFamily,

3, 24, myPointF, myStringFormat);

myGraphicsPath.AddPie(190, 0, 30, 20, -60, 230);

myGraphics.DrawPath(new Pen(Color.Green,1), myGraphicsPath);

}

Nem szükséges, hogy a Path objektumai össze legyenek kötve