S farbami pri programovaní v Delphách sa stretávame veľmi často. Bohužiaľ, však, zatiaľ poznáme iba niekoľko farieb a aj to len v niekoľkých odtieňoch. Ale to sa zmení! Na tejto hodine sa naučíme používať príkazy, ktorými budeme môcť generovať farby od výmyslu sveta…
Možno ste už počuli o farebnom modeli RGB (red-green-blue). V princípe sa dá povedať, že akákoľvek farba sa dá vytvoriť pomocou týchto troch farieb, záleží na tom, ako ich „namiešame“.
Miešať farby budeme v príkaze RGB(číslo, číslo, číslo). Tri čísla, ktoré hovoria o troch farbách, pričom tieto čísla musia byť z rozsahu 0 – 255.
Tak napríklad:
clBlack = RGB(0,0,0)
clRed = RGB(128,0,0)
clGreen = RGB(0,128,0)
clBlue = RGB(0,0,255)
clGray = RGB(128,128,128)
clYellow = RGB(255,255,0)
clWhite = RGB(255,255,255)
Nie, nič z toho si pamätať nemusíte, ak to niekedy budete potrebovať, jednoducho si to vygooglite.
Skúsme sa teraz ale krátko zamyslieť, koľko farieb sa dá takto vytvoriť. Každú z troch uvedených farieb (červená, modrá, zelená) primiešavame v 256 rôznych odtieňoch. Spolu nám to teda dá 256*256*256 možností, čo je 16777216. Každá farba má tak teda nejaké svoje číslo. A keď sme už pri číslach – tie vieme náhodne generovať… že? Takže ak vygenerujeme nejaké náhodné číslo zo 16777216, dostaneme sa k náhodnej farbe. Pamätať si 16777216 je však vskutku náročné, preto budeme používať takýto zápis:
(napríklad) Image1.Canvas.Pen.Color := random(256*256*256);
Samozrejme, náhodnú farbu vieme získať aj iným spôsobom, použitím príkazu RGB:
(napríklad) Image1.Canvas.Pen.Color := RGB(random(256), random(256), random(256)); //vygeneruje úplne náhodnú farbu
alebo
Image1.Canvas.Pen.Color := RGB(random(256), 0, 0); //vygeneruje farbu s náhodným červeným odtieňom (od čiernej až po červenú)
alebo
Image1.Canvas.Pen.Color := RGB(random(256), 0, random(256)); //vygeneruje náhodnú fialovú farbu (od červenej až po modrú)
Úlohy
1. Napíšte program, ktorý po kliknutí na tlačidlo vykreslí kruh na náhodnej pozícii, s náhodným polomerom a s náhodnou farbou výplne.
2. Upravte predchádzajúci program tak, aby aj orámovanie kruhu bolo rovnakej farby ako jeho vnútro.
3. Napíšte program, ktorý po kliknutí na tlačidlo bude kresliť farebnú úsečku náhodnej farby tak, že bude spájať hornú a dolnú hranu image-u, pričom X-ová súradnica bude náhodná.

4. Upravte predchádzajúci program tak, aby kreslil iba úsečky v červených odtieňoch.

5. Upravte predchádzajúci program tak, aby boli farby úsečiek usporiadané – vľavo budú čierne a vpravo budú najsvetlejšie odtiene červenej.

6. Napíšte program, ktorý po kliknutí na tlačidlo vypíše text „Teším sa na test“ náhodnou farbou.
7. Napíšte program, ktorý po kliknutí na tlačidlo vykreslí vlajku skladajúcu sa z troch pruhov náhodných farieb.
8. Napíšte program, ktorý nakreslí 4 sústredné kruhy s rôznymi polomermi (napr. 20, 40, 60 a 80), pričom budú mať rôzne farby výplne.
Najnovšie články
Najnovšie komentáre
- Kaťa komentoval 08 – Hodnotená aktivita z hardware-u
- Alica komentoval 08 – Hodnotená aktivita z hardware-u
- Daniel komentoval 08 – Hodnotená aktivita z hardware-u
- Marek komentoval 08 – Hodnotená aktivita z hardware-u
- kaja komentoval 08 – Hodnotená aktivita z hardware-u
nika.blog.matfyz.sk
Join Us On Facebook
Join Us On Twitter
Join Us On In.com
Subscribe to RSS
Follow Us On Google+
Subscribe Us On Youtube
Follow Us On Pinterest
Follow Us On Instagram
Follow Us On Tumblr
Subscribe Us On Flickr