Como sabemos, o html5 revolucionou o desenvolvimento web, agora é possível criar inúmeras funcionalidades novas. Nessa dica iremos falar da tag canvas, com ela é possível criar gráficos e formas geométricas, etc.

A sintaxe básica do canvas é:

Listagem 1: Sintaxe básica do canvas


<canvas id="teste" width="300" height="300"></canvas>

Caso queira adicionar uma borda a seus canvas, para poder ficar melhor de visualizar, use o código abaixo.

Listagem 2: Inserindo bordas no canvas


<!DOCTYPE html>
<html>
<body>

<canvas id="myCanvas" width="200" height="100" style="border:1px solid #000000;">
Seu navegador não suporta a tag canvas.
</canvas>

</body>
</html>

Agora vamos aprender a inserir linhas e círculos no canvas, dessa forma vai ser possível criar as formas geométricas.

Primeiro veremos o código para inserir uma linha na diagonal.

Listagem 3: Inserindo linha no canvas


<!DOCTYPE html>
<html>
<body>

<canvas id="myCanvas" width="200" height="100" style="border:1px solid #d3d3d3;">
Seu navegador não suporta a tag canvas</canvas>

<script>

var c=document.getElementById("myCanvas");
var ctx=c.getContext("2d");
ctx.moveTo(0,0);
ctx.lineTo(200,100);
ctx.stroke();

</script>

</body>
</html>

O resultado será:

Linha no canvas

Figura 1: Linha no canvas

Agora que já vimos como criar um canvas e como inserir uma linha diagonal nele, o que acham de criarmos um círculo? Olhe o código abaixo:

Listagem 4: Inserindo Círculos no canvas


<!DOCTYPE html>
<html>
<body>

<canvas id="myCanvas" width="200" height="100" style="border:1px solid #d3d3d3;">
Seu navegador não suporta a tag canvas</canvas>

<script>

var c=document.getElementById("myCanvas");
var ctx=c.getContext("2d");
ctx.beginPath();
ctx.arc(95,50,40,0,2*Math.PI);
ctx.stroke();

</script> 

</body>
</html>

Como podemos ver abaixo, temos um círculo dentro do canvas.

Círculo no canvas

Figura 2: Círculo no canvas

Essa é a tag canvas, é possível fazer inúmeras coisas diferentes com ela, esses foram apenas dois exemplos. Espero que tenham gostado e até a próxima.