Cvičenie 2

Príklad 1

PictureBox

Vytvorte aplikáciu, ktorá bude transformovať štvoruholník. Okno aplikácie bude vyzerať takto: 

TextBoxy

PictureBox

Užívateľ zadá súradnice vrcholov štvoruholníka. Pomocou programu bude potom môcť štvoruholník rôzne transformovať.
Posunutie bude možné v štyroch smeroch (doprava, doľava, hore, dole). Dĺžku posunutia si zvoľte sami (napr. 1 pixel, 10 pixelov..).
Otáčať sa bude okolo prvého vrcholu štvoruholníka. + znamená otočenie v smere hodinových ručičiek, - je otočenie proti smeru hodinových ručičiek. Uhol otočenia si zvoľte sami (napr. 10 stupňov). (Súradnicová sústava obrazovky je opačne orientovaná, ako je zvyčajné, preto aj vzorce na otáčanie v jednotlivých smeroch budú vymenené.)
Parameter škálovania si môžete tiež zvoliť sami (napr. 1.2, 2). Aby sa štvoruholník pri škálovaní príliš nehýbal, môžete za stred súradnicovej sústavy považovať niektorý jeho vrchol  alebo priesečník uhlopriečok.
Pri preklopení si môžete zvoliť ľubovoľnú vertikálnu alebo horizontálnu priamku, podľa ktorej sa bude preklápať, napr. priamky, na ktorých leží priesečník uhlopriečok alebo niektorý z vrcholov.
Po každej transformácii sa starý objekt vymaže a nakreslí sa transformovaný.

Príklad 2
Vytvorte program, v ktorom budete môcť posúvať obdĺžnik pomocou myši. Na začiatku sa na obrazovke objaví obdĺžnik. Stlačením ľavého tlačítka myši ho „uchopíte“ a ťahaním ho premiestnite na želanú pozíciu (tlačítko je stále stlačené). Keď tlačítko pustíte, obdĺžnik zostane na aktuálnej pozícii.

V programe budete spracovávať tri udalosti, ktoré vyvolá myš – stlačenie tlačítka, pohyb myši a pustenie tlačítka (všetko sa odohráva napr. v PictureBoxe). V paneli vlastností PictureBoxu (alebo iného komponentu) nájdete zoznam možných udalostí (events) a prepíšete tieto tri metódy:
MouseDown – metóda, ktorá hovorí, čo sa bude diať po stlačení tlačítka myši
MouseMove – metóda, ktorá hovorí, čo sa bude diať pri pohybe myši
MouseUp – metóda, ktorá hovorí, čo sa bude diať pri pustení tlačítka
Všetky tieto metódy majú ako parameter údaj e typu MouseEventArgs*. Tento údaj v sebe obsahuje napr. aj súradnice kurzora myši. Dostaneme sa k nim takto:
e->X
e->Y

Príklad 3
Napíšte program, ktorý vám umožní pomocou myši nakresliť obdĺžnik a elipsu, ako je to v rôznych kresliacich programoch. Stlačením tlačítka zadáte prvý vrchol obdĺžnika (aj pre elipsu vlastne zadávate obdĺžnik, do ktorého je vpísaná) a potom so stlačeným tlačítkom pohybujete myšou a tým nastavujete tvar obdĺžnika. Po pustení tlačítka sa obdĺžnik alebo elipsa napevno vykreslia.

Príklad 4
Nakreslite jednoduchý obrázok, napr. domček:

Urobte jeho skosenie v smere x, koeficient skosenia by mal zadať užívateľ.