<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="da">
	<id>https://www.htxarduino.dk/index.php?action=history&amp;feed=atom&amp;title=Canvas</id>
	<title>Canvas - Versionshistorie</title>
	<link rel="self" type="application/atom+xml" href="https://www.htxarduino.dk/index.php?action=history&amp;feed=atom&amp;title=Canvas"/>
	<link rel="alternate" type="text/html" href="https://www.htxarduino.dk/index.php?title=Canvas&amp;action=history"/>
	<updated>2026-04-30T14:36:58Z</updated>
	<subtitle>Versionshistorie for denne side i HTX Arduino</subtitle>
	<generator>MediaWiki 1.45.1</generator>
	<entry>
		<id>https://www.htxarduino.dk/index.php?title=Canvas&amp;diff=3747&amp;oldid=prev</id>
		<title>Bar: 1 version importeret</title>
		<link rel="alternate" type="text/html" href="https://www.htxarduino.dk/index.php?title=Canvas&amp;diff=3747&amp;oldid=prev"/>
		<updated>2022-10-26T04:45:11Z</updated>

		<summary type="html">&lt;p&gt;1 version importeret&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;da&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Ældre version&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Versionen fra 26. okt. 2022, 06:45&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;da&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(Ingen forskel)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Bar</name></author>
	</entry>
	<entry>
		<id>https://www.htxarduino.dk/index.php?title=Canvas&amp;diff=3746&amp;oldid=prev</id>
		<title>htx_&gt;Bar med 30. sep. 2013, 11:58</title>
		<link rel="alternate" type="text/html" href="https://www.htxarduino.dk/index.php?title=Canvas&amp;diff=3746&amp;oldid=prev"/>
		<updated>2013-09-30T11:58:08Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Ny side&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Med [[HTML5]] er der kommet en måde at arbejde grafisk i en browser, så man kan opbygge grafiske elementer i et browservindue ved hjælp af program-kommandoer.&lt;br /&gt;
&lt;br /&gt;
Der defineres et canvas element i browseren som følger:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;canvas id=&amp;quot;grafik&amp;quot; width=&amp;quot;600&amp;quot; height=&amp;quot;400&amp;quot;&amp;gt;&lt;br /&gt;
Denne tekst vises hvis browseren ikke understøtter HTML5 Canvas&lt;br /&gt;
&amp;lt;/canvas&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
==Kontakt til Canvas==&lt;br /&gt;
For at kunne arbejde med canvas skal man have fat i elementet, og man skal skabe den rigtige kontakt til elementet:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
var c = document.getElementById(&amp;quot;grafik&amp;quot;);&lt;br /&gt;
var plot = c.getContext(&amp;quot;2d&amp;quot;);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
==At tegne på Canvas==&lt;br /&gt;
Der er selvfølgelig først noget ved det, når man kan få noget ud på sit Canvas, og til dette formål er der en række forskellige metoder, som kan definere hvad det er man tegner, hvordan det ser ud og hvilke farver der fyldes i. Det er ikke meningen at dette skal være en komplet gennemgang af alle metoder, men et simpelt eksempel der laver en rød firkant kan være:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
ctx.fillStyle=&amp;quot;red&amp;quot;;&lt;br /&gt;
ctx.fillRect(10,10,150,75);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Man kan finde meget mere på http://www.w3schools.com/tags/ref_canvas.asp &amp;lt;ref&amp;gt;[http://www.w3schools.com/tags/ref_canvas.asp w3schools side om Canvas i 2d objektet]&amp;lt;/ref&amp;gt; hvor de forskellige metoder er listet, og inde på de enkelte metoder er de beskrevet, og der ligger eksempler man kan afprøve.&lt;br /&gt;
&lt;br /&gt;
De fleste metoder knytter sig til rent grafiske elementer, hvor man kan arbejde med linjer, cirkler og andre grafiske elementer, og der er også knyttet sådan noget som gradienter i farverne til nogle af elementerne.&lt;br /&gt;
&lt;br /&gt;
==Tankegangen i Canvas==&lt;br /&gt;
Selve tankegangen i Canvas kan godt drille lidt, fordi det man umiddelbart tænker er, at man tegner på Canvas.&lt;br /&gt;
&lt;br /&gt;
Det er bare ikke tilfældet – man skaber et mønster i hukommelsen, og så er der funktioner som kan få disse mønstre til at træde frem på Canvas som f.x. stroke(), men også fill() vil aktuelt tegne noget.&lt;br /&gt;
&lt;br /&gt;
Ideen bag dette er at man kan lave noget ret kompliceret, og så få det frem øjeblikkeligt, så man ikke vil opleve at noget bliver tegnet efterhånden som koden afvikles. Dette illustreres i udvidelsen af eksemplet senere.&lt;br /&gt;
&lt;br /&gt;
==Eksempel på anvendelse af Canvas==&lt;br /&gt;
Denne anvendelse illustrerer specielt anvendelsen af at tegne linjer på canvas ved hjælp af to metoder:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
ctx.moveTo(x,y);&lt;br /&gt;
ctx.lineTo(x,y);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Disse to metoder starter en linje der hvor moveTo() angiver det, og linjen går der hen hvor lineTo() angiver det, og man kan fortsætte videre ud fra dette punkt med endnu en lineTo(). Inden man anvender disse metoder starter man med en:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
ctx.beginPath();&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Denne metode gør canvas klar til at opsamle en tegning ved hjælp af linjer.&lt;br /&gt;
&lt;br /&gt;
For at afslutte anvendes metoden:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
ctx.stroke();&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Det er denne metode der faktisk får vise det tegnede på Canvas.&lt;br /&gt;
===Dele i graftegneren===&lt;br /&gt;
Selve eksemplet går ud på at tegne to grafer i et koordinatsystem med følgende udseende:&lt;br /&gt;
&lt;br /&gt;
[[Fil:canvas-graf.PNG]]&lt;br /&gt;
&lt;br /&gt;
Der er 3 funktioner i graftegningen:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
slet();&lt;br /&gt;
tegnakser();&lt;br /&gt;
plotdata();&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
slet() gør ganske enkelt det at den sletter et rektangel på størrelse med hele canvas – det er i pricippet ikke nødvendigt, men vil fungere godt i næste version.&lt;br /&gt;
&lt;br /&gt;
tegnakser() tegner en x og en y akse på canvas og sætter streger på dem for hver hele inddeling.&lt;br /&gt;
&lt;br /&gt;
plotdata() tegner derefter de to funktioner ind på canvas, først en sinus-funktion med en amplitude på 1 og derefter en cosinus med en amplitude på 1,8.&lt;br /&gt;
&lt;br /&gt;
Koden kan hentes som Canvas.html i [[media:canvas-graf.zip|denne ZIP-fil]].&lt;br /&gt;
==Udvidelse af eksemplet==&lt;br /&gt;
For at illustrere at Canvas fungerer ret hurtigt, og er god til at opdatere grafiske elementer, så er der i den samme ZIP-fil en udvidet version Canvas2.html, hvor graferne bevæger sig, ved at en flyttet version af grafen optegnes 50 gange i sekundet.&lt;br /&gt;
{{webcode}}&lt;br /&gt;
&lt;br /&gt;
==Referencer==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategori:Objekt]]&lt;br /&gt;
[[Kategori:Javascript output]]&lt;/div&gt;</summary>
		<author><name>htx_&gt;Bar</name></author>
	</entry>
</feed>