Archív Inet.sk Pôvodný autor: Peter Hrdlica
10. 08. 2010 o 09:15 3408x

Visual Basic.NET – 9. diel

Dnes si na začiatku článku povieme o tom, že Microsoft vydal ďalšieu, vylepšenú aopäť raznáročnejšiu verziu vývojového prostredia Visual Basic .NET. V hlavnom obsahu článku to však bude zaujímavejšie. Tento krát sa totiž pozrieme na základy práce s grafikou a nakreslíme si pár základných obrazcov pomocou GDI+
Visual Basic.NET – 9. diel

Úvod

            Opäť Vás raz všetkých vítam pri ďalšom pokračovaní seriálu o programovaní v jazyku VB.NET. Dnes si okrajovo povieme, že v rodine VB pribudol opäť ďalší mladší brat, tento krát s označením Microsoft Visual Basic 2010. Pokračovať budeme základmi práce s grafikou a vykresľovaním geometrických útvarov pomocou vstavaného GDI+ (Graphics Device Interface).

 

Visual Basic .NET 2010 – už desiaty prírastok v rodine

             Už v apríli tohto roku prišiel Microsoft s desiatim pokračovaním jednoduchého no vcelku silného jazyka označeného ako Visual Basic .NET 2010. Oproti predchádzajúcej verzii je tu hneď niekoľko zmien. Prvou a asi najdôležitejšou z nich je podpora Microsoft .NET Framework verzie 4.0, ktorá so sebou tak isto prináša nespočetné množstvo noviniek. Za zmienku stoja nové - dynamické premenné (dátový typ dynamic), zlepšenie podpory a urýchlenie spracovávania operácií na počítačoch s viacjadrovými procesormi, parser (syntaktický analyzátor) jazyka XAML, funkcia na vykresľovanie grafov, MVC framework a mnohé ďalšie.  Ďalšou zmenou, ktorá poteší hlavne menej zdatných angličtinárov je možnosť rôznych jazykových lokalizácií, ktorých počet by sa mal ešte rozšíriť (napr. aj o český jazyk).

 

Úplne všetky podrobnosti ohľadom nového Visual Studia 2010 alebo konkrétne ohľadom Visual Basic .NET 2010 sa dozviete na oficiálnych stránkach na adrese http://www.microsoft.com/express/ . V prípade potreby sa neostýchajte kontaktovať aj mňa.

 

Tento krát Microsoft dáva možnosť stiahnuť si aj Trial (skúšobnú) verziu profesionálneho balíka označeného ako Visual Studio 2010 Professional. Pre tých, ktorým opäť stačí Express (voľná) verzia rovnako ako v prípade VB.NET 2008 tak tá správna adresa na stiahnutie je http://www.microsoft.com/express/Downloads/#2010-Visual-Basic

 

K inštalácii môžem povedať toľko, že ju zvládne každý - je to len jednoduché „preklikanie“ sa pár krokmi a voila, môžete programovať. Pre tých, ktorých napadne otázka  či môžu mať naraz aj VB.NET 2008 aj VB.NET 2010 je odpoveď jasná: ÁNO (rovnako ako to bolo už pri predchádzajúcej verzii), takže sa netreba obávať zložitej migrácie medzi jednotlivými verziami alebo naspäť na staršiu verziu či už z dôvodu nedostatočného hardvéru, alebo keď si proste s 2010 navzájom nesadnete.

 

GDI+ alebo aj vo Visual Basicu sa dá kresliť (jednoducho)

 

            Aj keď sa to možno niekomu bude zdať zvláštne, pravdou je, že aj vo VB.NET sa dá kresliť (a to dokonca efektívne a rýchlo zároveň). Spôsobov je samozrejme viac, no mi si dnes opäť ukážeme ten najzákladnejší z nich a to pomocou menného priestoru System.Drawing a jeho objektov.

 

            Keďže sa budeme venovať tej obyčajnejšej = 2D grafike a zároveň aj obrazovka má  iba dva rozmery (výšku a šírku) musíme si uvedomiť, že aj súradnicový systém pomocou ktorého budeme umiestňovať obrazce a obrázky na formulár sa bude skladať z dvoch súradnicových osí – X a Y. Začiatok tejto súradnicovej sústavy (teda bod [0,0] ) sa nachádza v ľavom hornom rohu formulára. Os X je tá horizontálna (vodorovná)  a rastie smerom doprava zatiaľ čo hodnoty vertikálnej (zvislej) osi Y rastú smerom dole. Viď obrázok.

 

Súradnicový systém vo VB.NET

 

 

 

O vykresľovanie okna formulára sa stará volanie udalosti Paint formulára. Volá sa vždy, keď je potrebné prekresliť okno formulára, napr.: pri minimalizovaní a opätovnom maximalizovaní formulára, alebo keď okno alebo jeho časť prekryjeme iným oknom a opäť poodhalíme. Dostaneme sa k nej tak, že si ju nalistujeme v rolovacom menu pri editácii zdrojového kódu pod Form1 Events a Paint.


 

            Na kreslenie budeme využívať parameter e (nájdeme ho zadeklarovaný v hlavičke udalosti Paint), ktorý obsahuje všetky potrebné objekty a procedúry.

Ako prvú si ukážeme procedúru Clear, ktorá sa postará o  vymazanie či vlastne kompletné prekreslenie priestoru, na ktorý chceme maľovať, určenou farbou. Ja som vybral (najbežnejšiu) čiernu farbu, ktorú nájdeme napr. aj v štruktúre Color. Táto štruktúra obsahuje už množstvo preddefinovaných farieb a tak si stačí len vybrať.

 

Kompletný kód bude teda vyzerať nasledovne:

 

Private Sub Form1_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles Me.Paint

        e.Graphics.Clear(Color.Black)

End Sub

 

Keďže sme si už prichystali „plátno“ na maľovanie, môžeme pokročiť na ďalšiu úroveň a to kreslenie jednoduchých geometrických tvarov.

Úkon kreslenia začneme tým, že si vyberieme farbu pera (alebo štetca, ako chcete). Skôr než farbu peru priradíme, musíme si ho zadeklarovať a to nasledovne (opäť použijem farbu z kolekcie Color):

 

Dim pero As New Pen(Color.White, 3)

 

Pozadie už máme prichystané, farbu pera tiež, je teda čas nakresliť prvý tvar. Začneme úsečkou. Aby sme úsečku mohli nakresliť, musíme o nej poznať 5 údajov. Úsečka ako geometrický útvar je určená dvomi bodmi. Podľa súradnicového systému o ktorom sme si už povedali má každý bod 2 súradnice (X a Y) – to už sú štyri údaje a tým piatym, posledným bude jej farba.

 

Všeobecný zápis teda bude vyzerať takto:

 

e.Graphics.DrawLine(farba, X1, Y1, x2, y2)

 

Náš konkrétny zápis bude vyzerať nasledovne:

 

e.Graphics.DrawLine(pero, 50, 100, 300, 100)

 

Kompletný zdrojový kód na nakreslenie bielej vodorovnej čiary teda bude vyzerať takto:

 

Private Sub Form1_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles Me.Paint

        e.Graphics.Clear(Color.Black)

        Dim pero As New Pen(Color.White, 3)

        e.Graphics.DrawLine(pero, 50, 100, 300, 100)

End Sub

 

Prvý obrazec

 


 

Ako ďalší budeme kresliť obdĺžnik pomocou funkcie DrawRectangle. Prvým parametrom ostáva farba pera, druhým a tretím parametrom sú súradnice ľavého horného bodu. Štvrtý a piaty parameter budú šírka a výška obdĺžnika. Štvorec sa počíta ako špeciálny prípad obdĺžnika, ktorého šírka aj výška sa zhodujú.

 

pero.Color = Color.Red

pero.Width = 5

e.Graphics.DrawRectangle(pero, 30, 30, 150, 150)

 

Na obdĺžnik nadväzuje elipsa, ktorá sa kreslí pomocou funkcie DrawEllipse. Parametre funkcie sa presne zhodujú s tými, ktoré sme si popísali pri obdĺžniku. Elipsu teda vlastne z hľadiska VB kreslíme do vymedzeného obdĺžnika. Kružnica, rovnako ako pri obdĺžniku štvorec, je špeciálnym prípadom elipsy. Kružnica je elipsa ktorá sa vkreslí do štvorca.

 

pero.Color = Color.DodgerBlue

pero.DashStyle = Drawing2D.DashStyle.Dot

e.Graphics.DrawEllipse(pero, 80, 80, 300, 145)

 

Tvary

 

 

Kompletný zdrojový kód (tento krát bez hlavičky) vyzerá nasledovne:

 

e.Graphics.Clear(Color.Black)

 

Dim pero As New Pen(Color.White, 3)

 

e.Graphics.DrawLine(pero, 50, 100, 300, 100)

 

pero.Color = Color.Red

pero.Width = 5

e.Graphics.DrawRectangle(pero, 30, 30, 150, 150)

 

pero.DashStyle = Drawing2D.DashStyle.Dot

pero.Color = Color.DodgerBlue

e.Graphics.DrawEllipse(pero, 80, 80, 300, 145)

 

Záver

 

Týmto príkladom sme sa dostali až na koniec dnešného článku. Zvedavci sa môžu s vlastnosťami a metódami objektu pera či funkciami na kreslenie pohrať sami. Tí, ktorí si dôverujú menej môžu počkať do budúceho čísla kde si ukážeme opäť niečo ďalšie z práce s grafikou pomocou GDI+. V prípade záujmu, pripomienok či nápadov som ako vždy dostupný na e-mailovej adrese hrdlica@gmail.com. Veľa šťastia a zdaru pri programovaní a aj v osobnom živote!

 

S pozdravom,

Peter Hrdlica

 

Novinky a inšpirácie

Z nášho blogu

Prečítajte si novinky, inšpirácie a dôležité informácie zo sveta webhostingu a technológií.

Bezpečnostné aktualizácie PHP: Chráňte svoj web pred hrozbami Oznamy
21. 10. 2026

Bezpečnostné aktualizácie PHP: Chráňte svoj web pred hrozbami

Vývojársky tím PHP vydal dôležité bezpečnostné záplaty pre všetky oficiálne podporované verzie PHP 8. Na našich serveroch sme nezaváhali ...

Čítať viac
Gmail končí s funkciou „Odoslať ako“ pre cudzie e-mailové adresy. Čo to znamená pre vás? Oznamy
01. 10. 2026

Gmail končí s funkciou „Odoslať ako“ pre cudzie e-mailové adresy. Čo to znamená pre vás?

Google oznámil, že v januári 2027 zruší v Gmaile funkciu „Odoslať ako“ (Send as) pre e-mailové adresy od iných poskytovateľov. Ak ste si ...

Čítať viac
Večerná „prestávka“ pre server VIP033 Oznamy
25. 09. 2026

Večerná „prestávka“ pre server VIP033

Neustále pracujeme na tom, aby vaše weby bežali hladko, rýchlo a bezpečne. Technológie idú míľovými krokmi vpred a my v Inet.sk s nimi dr...

Čítať viac
Novinky na Inet.sk (09 / 2026) Novinky
09. 09. 2026

Novinky na Inet.sk (09 / 2026)

Posledné mesiace sme v Inet.sk nevenovali len stabilite serverov, ale najmä počúvaniu vašich reálnych skúseností z každodennej praxe. Výs...

Čítať viac

Podpora klientom

Máte ďalšie otázky?

Nezúfajte, pripravili sme pre Vás jednoduché odpovede na najdôležitejšie otázky, ktoré od našich klientov dostávame.

Zistiť viac

Naše výhody

Prečo si nás vybrať?

Našim klientom ponúkame až 30-dňovú záruku vrátenia peňazí.

Sme skutočný slovenský webhosting

Slovenská
firma

Nepatríme pod žiadnu nadnárodnú spoločnosť, sme malá rodinná firma.

Na nás sa môžete kedykoľvek spoľahnúť

Dlhoročné
skúsenosti

Na slovenskom trhu pôsobíme už viac ako 20 rokov, sme overená značka.

Naši prví zákazníci sú stále s nami

Spokojní
zákazníci

Naši zákazníci sú ako naša rodina, preto nám verí už viac ako 1250 klientov.

Maximálna bezpečnosť

Maximálna
bezpečnosť

Chránime Vás pred útokmi i SPAMom. U nás sú Vaše dáta v bezpečí.

Prozákaznícka podpora

Ochotná
podpora

Zakladáme si na individuálnom prístupe, preto Vám vždy radi pomôžeme.

Kvalita a dobrá cena

Férová
cena

Cena pri obnove je rovnaká ako pri objednávke. Nezdražujeme po prvom roku a bez skrytých poplatkov.

U nás sa Vám nič nestratí

Pravidelné
zálohovanie

Vaše dáta zálohujeme každý deň, dostupné sú aj zálohy z pred niekoľkých mesiacov.

Svižný Admin Panel nájdete len u nás

Prehľadný
Admin Panel

Máme rýchly a prehľadný Admin Panel, ktorý zvládne používať naozaj každý.

Správa používateľov

Správa
používateľov

Spravujte svoje projekty bez akýchkoľvek obáv s kolegami alebo externými partnermi.

Máme zľavy pre verných klientov

Vernostné
zľavy

Verní klienti u nás automaticky získavajú 15 % zľavu na každú ďalšiu objednávku.

My Vás nebudeme obmedzovať

Bez
obmedzení

Neobmedzujeme počet databáz, e-mailov, ftp a ani prenos dát.

Hosting pre WordPress

WordPress
na 1 klik

Nainštalujte si obľúbené redakčné systémy rýchlo a jednoducho.

Referencie

Spokojní zákazníci

Pozrite sa, čo o nás povedali naši klienti. Neváhajte a pridajte sa k nám ešte dnes.

Auto 100
Bystricoviny
eCall Slovakia
Filip Jančík
Frost
Merkury Broker
Mi:Su Design
Mesto Nitra
Pro Clienta
Schneider Lekáreň
Vego Marketing
Mesto Zlaté Moravce

Všetky ceny sú uvádzané bez DPH
© 2006 - 2026, Inet.sk, s. r. o., Všetky práva vyhradené

Na našej stránke používame "cookies". Vďaka nim sledujeme návštevnosť, prispôsobujeme reklamu a používateľské nastavenia, čo zlepšuje Váš zážitok z našej stránky. Súhlasíte s ich spracovaním?
Vlastné nastavenia cookies