Úloha 2 – Ověření kontextu a základní kreslení do canvasu
Úvod do úlohy
Samotný element <canvas> je jen prázdná plocha. Abychom na ni mohli kreslit, potřebujeme z ní získat tzv. vykreslovací kontext. Ten nám poskytne metody, kterými můžeme kreslit tvary, čáry, obrázky nebo text. Nejčastěji používáme 2D kontext, který vytvoříme pomocí getContext('2d'). Pokud kontext nezískáme, plátno zůstane prázdné a pokusy o kreslení povedou k chybám.
Teorie a principy
-
Vykreslovací kontext 2D (
'2d') je objekt, který nám umožňuje kreslit na plátno jako na papír – voláme jeho metody typufillRect,strokeRect,fillTextapod. -
Kontext získáváme voláním:
-
Pokud se kontext nepodaří získat, metoda vrátí
null. Proto je důležité tento výsledek zkontrolovat. -
Je také nutné, aby
<canvas>mělo nastavené atributywidthaheightpřímo v HTML. Jinak se kresba může zobrazit rozmazaně.
Praktický příklad kódu
Typické chyby
-
Zapomenutý atribut
widthneboheightv HTML → kresba se roztahuje podle CSS a vypadá rozmazaně. -
Ignorování hodnoty
null→ kód se snaží volat metody na neexistujícím kontextu a spadne. -
Špatné pořadí načtení – pokud voláme
getElementByIddříve, než se načetl<canvas>, dostanemenull. Řešením je umístit<script>až za<canvas>nebo použít atributdefer.
Shrnutí
-
<canvas>samo o sobě nekreslí – potřebujeme získat 2D kontext pomocígetContext('2d'). -
Kontext může být
null, proto vždy kontrolujeme, zda se vytvořil. -
Rozměry nastavujte jako atributy
widthaheightpřímo v HTML, jinak bude obraz rozmazaný. -
Jakmile máme kontext, můžeme kreslit tvary, texty a obrázky.