Canvas: Difference between revisions

From XPUB & Lens-Based wiki
 
(28 intermediate revisions by 2 users not shown)
Line 1: Line 1:
The [[wikipedia:Canvas element|canvas]] tag was introduced by Apple and has been [http://www.whatwg.org/specs/web-apps/current-work/multipage/the-canvas-element.html standardized to become part of HTML5].
The [[wikipedia:Canvas element|canvas]] tag was introduced by Apple and has been [http://www.whatwg.org/specs/web-apps/current-work/multipage/the-canvas-element.html standardized to become part of HTML5].


[http://pzwart3.wdka.hro.nl/~mmurtaugh/canvas.html A simple example page...]
To use it, you add the canvas tag to your HTML page, then use javascript draw on it.


A example for color cycling with the canvas element [[http://www.effectgames.com/demos/canvascycle/]]
<canvas id="example" showsrc>
function draw() {
  c = document.getElementById("example");
  p = c.getContext("2d");
  p.fillRect(50, 50, 150, 150);
}
</canvas>


== Template ==


Get the canvas tag:
A complete HTML page with canvas tag + javascript to draw in it, note how the draw function is first defined (in the script tag) and then finally called by the body "onload". This ensures that the page is fully loaded before the drawing is performed.
 
c=document.getElementById("c")
 
Get the "context" (like a paper):
 
p=c.getContext("2d");
 
Draw something!
 
p.fillRect(0, 0, 100, 100);
 
== Examples ==


<source lang="javascript"><!DOCTYPE html>
<source lang="javascript"><!DOCTYPE html>
Line 25: Line 20:
<meta charset="utf-8" />
<meta charset="utf-8" />
<script>
<script>
// Define a draw function that contains your
// drawing code
function draw(){
function draw(){
c = document.getElementById("c")
  c = document.getElementById("canvas")
//console.log("c is",c)
  //console.log("c is",c)
p = c.getContext("2d")
  p = c.getContext("2d")
x = 10
  p.fillRect(50, 50, 150, 150);
while (x<3000) {
    p.strokeRect(x,100,20,40)
    x+=60
}
}
}
</script>
</script>
</head>
</head>
<!-- The body tag then will call draw() when the page has loaded -->
<body onload="draw()">
<body onload="draw()">
<h1>Hello canvas</h1>
<canvas id="canvas" width="250" height="250" style="border: 1px solid black"></canvas>
<canvas id="c" width="640" height="640" style="border: 3px dotted red"></canvas>
</body>
</body>
</html>
</html>
</source>
</source>


== Tutorials & Reference ==
== Links ==
 
* [[Looping with canvas]]
* http://developer.mozilla.org/en-US/docs/Canvas_tutorial
* [http://developer.mozilla.org/en-US/docs/Canvas_tutorial Mozilla canvas Tutorial]
* http://www.whatwg.org/specs/web-apps/current-work/multipage/the-canvas-element.html
* [http://www.whatwg.org/specs/web-apps/current-work/multipage/the-canvas-element.html The official canvas specification]
* [http://www.effectgames.com/demos/canvascycle/ An example for color cycling with the canvas element]
* [http://developer.mozilla.org/en-US/docs/Web/API/Canvas_API/Tutorial/Pixel_manipulation_with_canvas Pixel manipulation with canvas]

Latest revision as of 10:36, 30 September 2014

The canvas tag was introduced by Apple and has been standardized to become part of HTML5.

To use it, you add the canvas tag to your HTML page, then use javascript draw on it.

<canvas id="example" showsrc> function draw() {

 c = document.getElementById("example");
 p = c.getContext("2d");
 p.fillRect(50, 50, 150, 150);

} </canvas>

Template

A complete HTML page with canvas tag + javascript to draw in it, note how the draw function is first defined (in the script tag) and then finally called by the body "onload". This ensures that the page is fully loaded before the drawing is performed.

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<script>
// Define a draw function that contains your
// drawing code
function draw(){
  c = document.getElementById("canvas")
  //console.log("c is",c)
  p = c.getContext("2d")
  p.fillRect(50, 50, 150, 150);
}
</script>
</head>
<!-- The body tag then will call draw() when the page has loaded -->
<body onload="draw()">
<canvas id="canvas" width="250" height="250" style="border: 1px solid black"></canvas>
</body>
</html>

Links