HTML Graphics
© Hans Roeyen 19 maart 2015
V 3.0
HTML5
Inhoud
1.
HTML5 Canvas .............................................................................................................. 3
1.1.
Het Canvas element ........................................................................................................ 3
2.
SVG Element .................................................................................................................. 9
2.1.
SVG vergeleken met Canvas .......................................................................................... 9
2.2.
Een cirkel tekenen met SVG ........................................................................................ 10
2.2.1. Verschillende figuren ................................................................................................... 11
Hans Roeyen
HTML Graphics
2-12
HTML5
1. HTML5 Canvas Het Canvas laat zich het best omschrijven als een "scriptable bitmap". Met andere woorden: je kunt met Javascript tekenen en animeren. Het feit dat het Canvas gebruikt kan worden zonder het installeren van plug-ins maakt het in de toekomst een erg belangrijk onderdeel van HTML5. De oorsprong van Canvas ligt bij Apple, waar het ontwikkeld werd voor Safari en het Dashboard. Later is het opgenomen in HTML5. Het is bedoeld om op bitmap niveau te tekenen. Je kunt er games, diagrammen, interactieve graphics en dergelijke mee maken. De combinatie met audio en video is eveneens mogelijk maar wordt afgeraden door W3C. Canvas ondersteunt 2D (en ook 3D ) context voor het tekenen en manipuleren van afbeeldingen. Ondersteuning voor 3D is nog experimenteel. Het Canvas heeft twee belangrijke eigenschappen. Ten eerste is het een Bitmap, dit in tegenstelling tot Flash en Silverlight. We werken dus met pixels en niet met vectoren. Ten tweede werkt het als "fire and forget". Wanneer er iets op het Canvas wordt getekend, dan wordt dat niet bij gehouden in een DOM. Het is dus niet mogelijk om een bepaald getekend object later weer aan te spreken. Dit lijkt erg onhandig, maar zorgt er wel voor dat het Canvas erg snel is. Er wordt namelijk geen collectie van objecten bijgehouden en daardoor kan er in een hoog tempo getekend worden. 1.1. Het Canvas element Het Canvas element zelf doet eigenlijk niet zo veel. Je kunt het element het beste zien als een leeg stuk papier. Als attributen geef je de breedte en hoogte op en in het element specificeer je de content die gebruikers te zien krijgen wanneer ze een browser gebruiken die het Canvas element niet ondersteunt. Dit kan een simpele melding of afbeelding zijn, maar ook een vervangende Flash- of Silverlight-applicatie. Het toevoegen van de