En artículos anteriores ya explicamos cómo hacer caminos en canvas del HTML 5 esta ocasión vamos a dedicarnos a dibujar el mismo camino, que es un simple hexágono, pero con distintas variantes, para que las personas puedan ver las diferencias entre cerrar o no los caminos, así como rellenarlos de color.
En el presente artículo veremos las siguientes variantes de un camino con la forma de hexágono regular:

Para rellenar de color un camino utilizamos la el método fill() del contexto del canvas, que antes de rellenar de color hace un cierre automático del camino. De esta manera, aunque no se haya completado el camino hasta cerrarlo, al invocar ctx.fill() esta función lo cerrará por nosotros.
//Hexagono relleno de color, cierre de camino automático con fill
var ctx = cargaContextoCanvas('canvas1');
if(ctx){
ctx.beginPath();
ctx.moveTo(50,15);
ctx.lineTo(112,15);
ctx.lineTo(143,69);
ctx.lineTo(112,123);
ctx.lineTo(50,123);
ctx.lineTo(19,69);
ctx.fill();
}
No obstante, para adornar un poco más el ejemplo, hemos optado por cambiar el color de relleno del hexágono, por medio de la propiedad fillStyle del objeto contexto del canvas.
//Hexagono rellenado, cierre de camino explícito con closePath
var ctx = cargaContextoCanvas('canvas2');
if(ctx){
ctx.fillStyle = '#990000';
ctx.beginPath();
ctx.moveTo(50,15);
ctx.lineTo(112,15);
ctx.lineTo(143,69);
ctx.lineTo(112,123);
ctx.lineTo(50,123);
ctx.lineTo(19,69);
ctx.closePath();
ctx.fill();
}
Como veremos, el camino es exactamente igual que los anteriores, con la diferencia que para dibujar sólo la línea del contorno del camino se utiliza el método stroke() del objeto contexto de canvas, en lugar de usar fill() que hace los caminos con relleno de color.
Además, podremos observar como al usar el método stroke() no se cierra automáticamente el camino como ocurría con fill(), sino que se queda abierto.
//Hexagono sólo línea, sin cierre de camino
var ctx = cargaContextoCanvas('canvas3');
if(ctx){
ctx.beginPath();
ctx.moveTo(50,15);
ctx.lineTo(112,15);
ctx.lineTo(143,69);
ctx.lineTo(112,123);
ctx.lineTo(50,123);
ctx.lineTo(19,69);
ctx.stroke();
}
El camino es el mismo, pero antes de llamar a stroke() para dibujar la línea, hacemos un closePath() para cerrar el camino. Para añadir algún interés adicional al camino, hemos utilizado un color distinto para la línea del contorno, que se consigue en esta ocasión con la propiedad strokeStyle del objeto contexto del canvas.
//Hexagono sólo línea, con cierre de camino closePath()
var ctx = cargaContextoCanvas('canvas4');
if(ctx){
ctx.strokeStyle = '#990000';
ctx.beginPath();
ctx.moveTo(50,15);
ctx.lineTo(112,15);
ctx.lineTo(143,69);
ctx.lineTo(112,123);
ctx.lineTo(50,123);
ctx.lineTo(19,69);
ctx.closePath();
ctx.stroke();
}
Hasta aquí llega esta práctica de caminos en Canvas del HTML 5, con distintas variantes a partir de los mismos puntos del camino.
Si lo deseas, puedes ver una página donde se muestran los cuatro ejemplos de caminos vistos en este artículo.
| canvas Por: carlos morrison | 28/3/2010
|
| Javascript en un nicho ¿? | 06/9/2010 |