jueves, 4 de abril de 2013

15 - CANVAS (transparencias)



Para activar transparencias cuando inicializamos la propiedad fillStyle debemos pasar a la función rgba los valores para el rojo,verde,azul y el grado de transparencia (este valore es un número que puede variar entre 0 y 1)

Si pasamos el valor 1 no la figura es totalmente opaca, es decir no se ve absolutamente nada de lo que se encuentra detrás de la misma. A medida que disminuimos dicho valor 0.7, 0.5, 0.3 etc. la figura se torna más transparente.

Con un ejemplo veremos como activar la transparencia:

<!DOCTYPE HTML>
<html>
<head>
 
<script type="text/javascript">
function retornarLienzo(x) {
  var canvas = document.getElementById(x);
  if (canvas.getContext) {
    var lienzo = canvas.getContext("2d");   
    return lienzo;
  } else
    return false;
}
 
function dibujar() {
  var lienzo=retornarLienzo("lienzo1");
  if (lienzo) {
    lienzo.fillStyle="rgb(255,0,0)";
    lienzo.fillRect(10,10,50,50);
    lienzo.fillStyle="rgba(0,255,0,0.3)";
    lienzo.fillRect(40,40,50,50);
  }
}
 
</script>
 
</head>
<body onLoad="dibujar()">
<canvas id="lienzo1" width="600" height="600">
Su navegador no permite utilizar canvas.
</canvas>
</body>
</html>
 
Activamos el color rojo:

    lienzo.fillStyle="rgb(255,0,0)";
 
Dibujamos un cuadrado.

    lienzo.fillRect(10,10,50,50);
 
Activamos el color verde y definimos un nivel de transparencia de 0.3:

    lienzo.fillStyle="rgba(0,255,0,0.3)";
 
Dibujamos el cuadrado superpuesto al primero:

    lienzo.fillRect(40,40,50,50);


PROBLEMA PROPUESTO

Dibujar 250 cuadrados del rojo al negro. Dibujar un rectángulo negro grande que tape todos los cuadrados. Redibujar y hacer que el rectángulo se vuelva cada vez más transparente.

No hay comentarios:

Publicar un comentario