Canvas: Difference between revisions

From XPUB & Lens-Based wiki
Line 28: Line 28:
<script>
<script>
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")
Line 41: Line 41:
<body onload="draw()">
<body onload="draw()">
<h1>Hello canvas</h1>
<h1>Hello canvas</h1>
<canvas id="c" width="640" height="640" style="border: 3px dotted red"></canvas>
<canvas id="canvas" width="640" height="640" style="border: 3px dotted red"></canvas>
</body>
</body>
</html>
</html>
Line 48: Line 48:
<canvas width="300" height="300" showsrc="true">  
<canvas width="300" height="300" showsrc="true">  
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")
Line 66: Line 66:
<script>
<script>
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");

Revision as of 14:14, 25 September 2012

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

A simple example page...

A example for color cycling with the canvas element [[1]]


Get the canvas tag:

c=document.getElementById("c")

Get the "context" (like a paper):

p=c.getContext("2d");

Draw something!

p.fillRect(0, 0, 100, 100);

Examples

Here is a complete HTML page with a working canvas:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<script>
function draw(){
  c = document.getElementById("canvas")
  //console.log("c is",c)
  p = c.getContext("2d")
  x = 10
  while (x<300) {
    p.strokeRect(x,100,20,40)
    x+=60
  }
}
</script>
</head>
<body onload="draw()">
<h1>Hello canvas</h1>
<canvas id="canvas" width="640" height="640" style="border: 3px dotted red"></canvas>
</body>
</html>

<canvas width="300" height="300" showsrc="true"> function draw(){

 c = document.getElementById("canvas")
 //console.log("c is",c)
 p = c.getContext("2d")
 x = 10
 while (x<300) {
   p.strokeRect(x,100,20,40)
   x+=60
 }

} </canvas>


When the loop reaches the end of page it breaks the line. It redefines the "x" value to the begin of the line and adds 40px to "y".

<canvas width="300" height="300" showsrc="true"> <script> function draw(){ c = document.getElementById("canvas"); console.log("c is ", c); p = c.getContext("2d"); hands = 1; x = 20; y = 200;

while (hands < 100) { console.log(hands); p.strokeRect(x,y,20,20); x = x + 50; hands++; if (x > 600) { x = 20; y = y + 40; } } } </canvas>

Tutorials & Reference