Mostrando las entradas con la etiqueta 010 Animacion con graficos html. Mostrar todas las entradas
Mostrando las entradas con la etiqueta 010 Animacion con graficos html. Mostrar todas las entradas

lunes, 28 de noviembre de 2016

010  Graficos en html: Animacion
Ing. Honoria Reyes Macedo

INTRODUCCION: En esta practica se dara movimiento a los distintos graficos(canvas y svg) asi como imagenes de html.
Para llevar a cabo esta actividad se debera tener una pagina html dividida en varias secciones
1.- Animacion de imagen en html

                1.1 Copiar una imagen de un rehilete en una carpeta img
                1.2 En una seccion de la pagina html copiar el siguiente codigo
                                                <img  src="img/rehilete.jpg">
                1.3 En el archivo estilos.css que se encuentra en la carpeta css poner el siguiente codigo y 
                        le da movimiento de 360 grados           (Dar formato a la imagen)
img {
     width: 100px;
     height: 100px;
     -moz-border-radius: 50%;
     -webkit-border-radius: 50%;
     border-radius: 50%;
     background: red;
    -webkit-animation-name: rotate; /* Chrome, Safari, Opera */
    -webkit-animation-duration: 4s; /* Chrome, Safari, Opera */
    animation-name: rotate;
    animation-duration: 4s;
}

@keyframes rotate {
from {transform: rotate(0deg);}
to {transform: rotate(360deg);}}

@-webkit-keyframes rotate 
{from {-webkit-transform: rotate(0deg);}
                        to {-webkit-transform: rotate(360deg);}}


2.- Animacion de canvas con javaScript
                2.1 El contenido del archivo miscanvas.js ponerlo dentro de una funcion 
(Contenido que solo dibuja el fondo)
function fondo(){
//Aquiva el contenido para dibujar
}

                2.2 Agregar al principio de miscanvas.js la declaracion de variables globales
Nota:  140, 330 son las coordenas “X” y 160 es la coordena “Y” de los iris de los ojos creados en la practica anterior
(Deberas modificarlos de acuerdo a tu canva)
                var coX = [140,330];
                var coY = 160;
                var tempX=0, tempY=0;
                var  vx= 5,  vy= 2;
               miCANVAS.addEventListener("mousemove", function(event)  
                                       {                                                   
                                ObtenerXY(event);          //( es una funcion para cambiar las coordenadas)
                                       });

                2.3  Crear la funcion ObtenerXY(), asi como la funcion dibujar() y ejecutarla por intervalos
                function ObtenerXY(e){
                   try{
                                tempX=e.pageX;
                                tempY=e.pageY;                                                              
                                //            alert(tempX + "..." +tempY);       
                                coX = [140+tempX/document.body.scrollWidth*190,      
                                              330+tempX/document.body.scrollWidth*190]; 
                                coY = 100+tempY/document.body.scrollHeight*100;
                   }catch(err)                       {
                                                alert(err.message);
                   }
                                 return true;
                }

                //Ejecutar por intervalos el metodo dibujar
                setInterval(function(){dibujar("cva009");},60);      //setTimeout()
               
        function dibujar(cual){
                var miCANVA = document.getElementById(cual);
                if (miCANVA.getContext) {
                  var canvas=miCANVA.getContext("2d");
                   try{
                           canvas.clearRect(0,0, canvas.width, canvas.height);
                           ObtenerXY;
                           canvas.fillStyle ="#0c0a15";      
                                                                                                               
                          fondo();
                          canvas.beginPath();                        //Empieza nueva figura
                             //Genera un arco o un circulo en 135,60 con radio 30
                          canvas.arc(coX[0],coY,30,0,Math.PI *2,true);     
                          canvas.fill();       
                          canvas.beginPath();                        //Empieza nueva figura
                             //Genera un arco o un circulo en 135,60 con radio 30
                          canvas.arc(coX[1],coY,30,0,Math.PI *2,true);    
                          canvas.fill();   
                 }catch(err)                         {
                                alert(err.message);
                }
           }
   }


3.- Imagen en javaScript
                3.1.- En una seccion de la pagina html copiar el siguiente codigo
<canvas id="cva010" >Aqui va algo</canvas>
                3.2.- En el archivo miscanvas.js que se encuentra en la carpeta js poner el siguiente codigo
var miCANVA10 = document.getElementById("cva010");
var canva10 = miCANVA10.getContext("2d");     
var imgss= new Image();
imgss.src='img/slide-1.jpg';
imgss.onload =function(){
     canva10.drawImage(imgss,0,0);  //Imagen normal
     // *****
     canva10.drawImage(imgss,120,0, 150,107); // escalado imagen completa
     // escalado de una porción desde 10,15,80,60
                canva10.drawImage(imgss,10,15,80,60,180,60,150,107);
     canva10.strokeStyle = 'yellow';
     canva10.strokeRect (10,15,80,60); // rectángulo amarillo
}


4.- Animacion de SVG en html


4.1.- Crear un logo utilizando un editor para generar codigo SVG
     Ejemplo de software editor a utilizar:
* Ilustrator , 
* inkscape: lo puedes  descargar desde   http://www.inkscape.org/
Instalarlo y arrastrar las herramientas para formar tu imagen

4.2.- Agregarlo a  <header> de nuestras paginas html
Ejemplo de un circulo :
    <svg><circle id="circ001" cx="40" cy="40" r="25" fill="yellow" stroke="blue" stroke-width="4"></svg>

4.3.- Agregar el siguiente codigo al archivo estilos.css
#circ001{
transition: 2.5s ease;
                 -moz-transition: 2.5s ease; /* Firefox */
                 -webkit-transition: 2.5s ease; /* Chrome - Safari */
                 -o-transition: 2.5s ease; /* Opera */
}

#circ001:hover{
  position: relative;
   -webkit-transition-duration: 4s;
 transform: rotate(30deg) scale(1,3);
-ms-transform:rotate(30deg) scale(1,3);
-moz-transform:rotate(30deg) scale(1,3));
-o-transform:rotate(30deg) scale(1,3);
-webkit-transform:rotate(30deg) scale(1,3);
transform-origin: 40% 40%;
}



             
**********************0*0**********************
*******************000***000*******************