Básicamente debemos utilizar el elemento Canvas de HTML5, el cual nos brinda herramientas para dibujar fijuras geométricas, texto e imágenes, así como aplicar algunas transformaciones sobre dichos elementos, por ejemplo desplazamiento, escalamiento y rotaciones.
Para empezar a utilizar canvas, veamos el siguiente ejemplo:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<style>
canvas { background: #eee; display: block; margin: 0 auto; border: 1px solid black;} body { background-color: black; }
</style>
</head>
<body>
<canvas id="Canvas1" width="480" height="320" > </canvas>
</body>
</html>
Con el cual obtendremos una salida similar a esto:
Ahora debemos mostrar una imagen, para ejemplo pueden usar la de este robot:
Para poder dibujarlo, básicamente seguimos el siguiente patrón:
- Obtenemos la referencia al objeto Canvas1
- Obtenemos la referencia a su contexto (si es 2D o 3D, nosotros usamos el 2D)
- Creamos un objeto Image para cargar la imagen del robotin
- Limpiamos el canvas (en realidad limpiamos su contexto)
- Cuando la imagen esté completamente cargada, la dibujamos en el contexto del canvas.
Esto en código JavaScript quedaría de la siguiente forma:
<script>
var canvas = document.getElementById("Canvas1"); //1. referencia al objeto Canvas
var context = canvas.getContext('2d'); //2. referencia al contexto 2D del canvas
var img = new Image(); //3.1 objeto para cargar la imagen
img.src = "img/robowalk00.png"; //3.2 cargamos en memoria la imagen del robot
//4. Limpiamos el canvas:
context.clearRect(0,0, canvas.width, canvas.height);
//5. Cuando la imagen esté cargada, la dibujamos.
if(img.complete)
{
context.drawImage(img, canvas.width/2, canvas.height/2);
}
else
{
img.onload = function ()
{
context.drawImage(img, canvas.width/2, canvas.height/2);
}
}
</script>
Como pueden ver, el código es bastante simple, pero es la base para todos los ejemplos que realizaremos más adelante. Así que asegúrense de entenderlo, probarlo y hacerlo funcionar.
En el siguiente enlace pueden descargar el código completo con el primer ejemplo, de forma que puedan probarlo por ustedes mismos.
Por cualquier duda o consulta que tengan, podemos expandir el tema en los comentarios ;)
<script>
var canvas = document.getElementById("Canvas1"); //1. referencia al objeto Canvas
var context = canvas.getContext('2d'); //2. referencia al contexto 2D del canvas
var img = new Image(); //3.1 objeto para cargar la imagen
img.src = "img/robowalk00.png"; //3.2 cargamos en memoria la imagen del robot
//4. Limpiamos el canvas:
context.clearRect(0,0, canvas.width, canvas.height);
//5. Cuando la imagen esté cargada, la dibujamos.
if(img.complete)
{
context.drawImage(img, canvas.width/2, canvas.height/2);
}
else
{
img.onload = function ()
{
context.drawImage(img, canvas.width/2, canvas.height/2);
}
}
</script>
Como pueden ver, el código es bastante simple, pero es la base para todos los ejemplos que realizaremos más adelante. Así que asegúrense de entenderlo, probarlo y hacerlo funcionar.
En el siguiente enlace pueden descargar el código completo con el primer ejemplo, de forma que puedan probarlo por ustedes mismos.
Por cualquier duda o consulta que tengan, podemos expandir el tema en los comentarios ;)

