HyperLink
Bejelentkezés
E-mail: 
Jelszó: 





Skip Navigation Links
 

Egyedi vonal rajzolása GDI+ segítségével


Példaprogram letöltése

6610 bájt

Amikor rajzolunk egy vonalat, akkor annál megadhatunk egy-két előre definiált típust, mely alapján a vonal szaggatottan, illetve pontozott vonallal jelenik meg. Ezek között azonban nincs sok választási lehetőség. Szerencsére van megoldás arra, hogy úgy jelenítsünk meg egy szaggatott vonalat, hogy mi határozhatjuk meg, hogy hány pixelnyi vonal után hány pixelnyi szünet legyen.

A megoldáshoz két TrackBar-t használunk. Az egyikkel a vonal hosszát, a másikkal a szünet hosszát szabályozhatjuk. A grafika kirajzolása a Form Paint eseményénél történik.
Itt szükségünk lesz egy tömbre, melyben számok vannak eltárolva. Jelen esetben a két TrackBar aktuális értéke, mely a vonal, illetve a szünet hosszát határozza meg.
    private void Form1_Paint(object sender, System.Windows.Forms.PaintEventArgs e)
    {
      float[] dp = {trackBar1.Value, trackBar2.Value};
Ezt követően létrehozunk egy Pen-t a vonal rajzoláshoz hagyományos módon.
      Pen p = new Pen(Color.Blue, 5);
Majd a DashPattern property-jébe megadjuk az imént létrehozott tömböt, ezzel szabályozhatjuk a vonal folytonossági tulajdonságát.
      p.DashPattern = dp;
Végezetül nincs más tennivalónk, mint a létrehozott ceruzával vonalakat rajzolni.
      e.Graphics.DrawLine(p, new Point(10, 10), new Point(300, 10));
      e.Graphics.DrawLine(p, new Point(10, 10), new Point(300, 300));
      e.Graphics.DrawLine(p, new Point(10, 10), new Point(10, 300));
Lehetőség van arra is, hogy ne csak egy vonal és egy szünet értéket adjunk meg, hanem tetszőleges számút. Ehhez nem kell mást tennünk, mint egy olyan tömböt létrehozni, mely nem csak két számot tartalmaz. Ebben az esetben a vonal és a szünet értékek felváltva kerülnek megadásra a tömbben.
      float[] dp2 = {1, 2, 4, 8, 16};
      Pen p2 = new Pen(Color.Red, 2);
      p2.DashPattern = dp2;
      e.Graphics.DrawLine(p2, new Point(10, 350), new Point(300, 350));
    }

Könyv
Ez a cikk megtalálható ebben a könyvben: C# Software Offline 2001 évkönyv 279. oldal

Felhasználási feltételek
A Software Online szoftverfejlesztői magazin mindegyik cikke, minden megjelent képe, és egyéb publikált anyaga szerzői jog védelme alatt áll! Bármilyen formában történő másodlagos terjesztésük, közzétételük vagy felhasználásuk kizárólag a kiadó előzetes írásbeli engedélyével történhet!

Copyright © 1999-2012 Animare Software Kft. Minden jog fenntartva!
| Készült: Animare Stúdió | Adatvédelem | Kapcsolat |