HyperLink
Bejelentkezés
E-mail: 
Jelszó: 





Skip Navigation Links
 

Koordinátarendszerek


Példaprogram letöltése

5833 bájt

Hogyan képezhetjük le a valós méreteket és ábrákat a képernyőre? Miként rajzolhatunk úgy, hogy adatainkat milliméterben adjuk meg és nem pixelben számolva? Milyen koordinátarendszereket használhatunk rajzolás közben?
Ezekre a kérdésekre keressük a választ e cikkünkben.

Ha a Graphics osztály függvényeivel rajzolunk, akkor alapesetben minden megadott érték a képernyő koordináta rendszerében lesz értelmezve, méghozzá pixelben mérve. Ez azt eredményezi, hogy a 0-0 pont a képernyő bal felső sarka lesz és az x tengely értéke balról jobbra nő, míg az y tengely értékei fentről lefelé.
Nyomtatáskor szintén a Graphics osztályt hívhatjuk segítségül a nyomtatandó ábra, feliratok kirajzolásához. Ez esetben valószínűleg szívesebben adnánk meg a méreteket milliméterben, hogy azok pontosan oda kerüljenek a papírlapra, ahová szeretnénk. Ezt nehézkes is lenne pixelben megadva eltalálni.
A GDI+ három különböző koordinátarendszert különböztet meg: World, Page, Device. Bármit is rajzoljunk a Graphics osztállyal, a függvények paramétereiként megadott értékek a World nézetben lesznek értelmezve, viszont megjelenítésükhöz konverzióra kerül sor: előbb Page, majd Device rendszerbe.
Ahhoz, hogy például milliméterben adhassuk meg a koordináta pontokat, csak annyit kell tennünk, hogy a Graphics osztály PageUnit property-nek a megfelelő értéket adjuk.
Megnevezés Leírás
Display 1/75 inch
Document 1/300 inch
Inch 1 inch
Millimeter 1 mm
Pixel 1 pixel
Point 1/72 inch
World eredeti méret
Ahhoz, hogy a Page rendszer origó pontját eltoljuk egy általunk megadott tetszőleges pontba, a TranslateTransform függvényt kell használnunk. Ennek két paraméterében kell megadnunk az eltolás mértékét, mely a megadott mértékegységben lesz értelmezve.
  Private Sub Form1_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles MyBase.Paint
    Dim g As Graphics = e.Graphics
    g.PageUnit = GraphicsUnit.Millimeter
    g.TranslateTransform(50, 50)
Ezek után bármit is rajzolunk, arra már érvényesek lesznek az újonnan megadott beállítások.
    Dim p As New Pen(Color.Green, 0.1)
    g.DrawEllipse(p, -10, -10, 20, 20)   
    p.Color = Color.Black
    g.DrawLine(p, -1000, 0, 1000, 0)
    g.DrawLine(p, 0, -1000, 0, 1000)
  End Sub 'Form1_Paint

Cikksorozat

#IDKategóriaCikk címeSorozat
4397Windows.NET Framework konfigurálása az operációs rendszerben1. rész
4446Windows.NET Framework konfigurációs snap-in2. rész


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 |