Úkolem je navrhnout automatický výpočet pěkné sady barev např. pro webový design. Vstupem jsou uživatelem zadané základní barvy, mohou být 1 až 2. Výstupem je množina 3 až 9 barev, které jsou odvozeny z těch základních (ale ne nutně musí základní barvy obsahovat). Měli byste použít barevný systém HSV (v něm se snadno definují barvy doplňkové, příbuzné, ..).
Základem poslouží projekt 033colormap z repository grcis. Je připravena jednoduchá aplikace, ve které uživatel zadává vstupní parametry a ihned se automaticky spouští metoda Colormap.Generate() přepočítávající barevnou paletu. Tuto metodu musíte přeprogramovat, příslušný úsek kódu je ve zdrojáku Colormap.cs označen závorkami:
// !!!{{ // !!!}}
Vstupní (základní) barvy jsou uložené v parametrech
baseColor1 a baseColor2. Počet barev zadávaný
uživatelem najdete v parametru numCol (nemusíte ho používat,
můžete udělat paletu pevné délky). Volitelně můžete číst další informace z
řetězce param (v takovém případě si budete muset sami zadefinovat,
co a v jakém formátu má smí obsahovat - pilotní implementace obsahuje ukázku
čtení jednoho float čísla).
Výstupní barevná paleta se píše do pole colors,
pole musíte sami alokovat pro správnou velikost, např.
colors = new Color[ 4 ]; pro čtyři barvy..
Pro pohodlné ladění i pro odevzdání nějaké pěkné odladěné palety prosím modifikujte inicializační proceduru InitPaletteData(). Ta se zavolá vždy na začátku při inicializaci formuláře.
Jako řešení úlohy posílejte mailem pouze modifikovaný zdrojový soubor Colormap.cs!
Nepřijímám celé Visual Studio projekty!
Na první řádce v komentáři napište své jméno.
Pro převod z RGB do HSV a zpět můžete použít knihovní funkce Arith.ColorToHSV() resp. Arith.HSVToColor(). HSV systém používá čísla v plovoucí řádové čárce (float), vestavěný typ Color má jako barevné komponenty celá čísla v rozsahu 0 až 255.
Různé online stránky pro generování web-palet, např. moc pěkný Adobe Color CC (nastavit si "Compound"), apod.
Musíte poslat zdrojový soubor Colormap.cs.
Na první řádce v komentáři napište své jméno.
Do procedury InitPaletteData() napište nějaké pěkné zadání, které se vám
povedlo.
Pokud použijete stringový parametr param, nezapomeňte popsat jeho
formát a sémantiku.
Odevzdat do: 8. 11. 2015
Maximálně 9 bodů
Visual Studio projekt: 033colormap.
Modifikujte a odevzdejte soubor: Colormap.cs
Do komentáře na první řádce napište své jméno!
Copyright (C) 2010-2015 J.Pelikán, last change: 2019-05-09 17:52:59 +0200 (Thu, 09 May 2019)