Comunidad de diseño web y desarrollo en internet online

Como obtengo la proporcion de alto y ancho

Citar            
MensajeEscrito el 18 Oct 2004 09:42 pm
lo que pasa es que estoy cargando unas fotos dentro de un MC llamado contenedor...

y este esta en medio de un marco, lo ke kiero es que las fotos que se carguen queden dentro del marco pero que sea en proporción, para que la foto no se desfigure(no se aplaste o se alargue)...

el code que tengo es este, pero no me funciona, creo que tengo que sacar una proporcion a algo:

Código :

if(contenedor._height>altoMarco){
                //aki le resto al ancho lo ke le va a kitar de alto
      contenedor._width-=(contenedor._height-altoMarco);
      contenedor._height=altoMarco;
   }
if(contenedor._width>anchoMarco){
         //y aki le kito de alto lo que le voy a kitar de ancho
   contenedor._height-=(contenedor._width-anchoMarco);
   contenedor._width=anchoMarco;
}


osea que si se pasaba 20 de alto, eso se lo kito de ancho... y viceversa,,, pero me salen todas las imagenes aplastadas... , ke será... please ayudenme!! :crap:

Por Sr. QUHO

SWAT Team

1643 de clabLevel

5 tutoriales
1 articulo

  SWAT

unknown
Citar            
MensajeEscrito el 18 Oct 2004 10:30 pm
a ver ...

Usa scale para redimensionar una foto , ademas si no quierres perder el ratio (q no se deforme ) tienes q decidir si cortarla o no ...

Si miras el code q tengo en Loader (mira en aportes ) veras q tengo un metodo para escalar la foto independientemente de su tamanio

Código :

function escala ():Void {
   
   var foto = $foto.container
   
   // guardamos las medidas de el jpg o swf
   $anchoFoto = foto._width;
   $altoFoto = foto._height;
   
   // calculamos la escala
   var xscale = $ancho/$anchoFoto;
   var yscale = $alto/$altoFoto;
   
   
   if ($rellenar == undefined) $rellenar=false;
   
   //   recortamos la foto o no
   if ($rellenar) {
      // redimensionamos
      foto._xscale = foto._yscale = Math.max(xscale, yscale)*100 ;
      // posicionando la foto
      // repartimos la diferencia
      if(xscale>yscale) foto._y = ($alto-foto._height)/2 ;
      else foto._x = ($ancho-foto._width)/2 ;
   } else {
      foto._xscale = foto._yscale = Math.min(xscale, yscale)*100 ;         
      if(xscale<yscale) foto._y = ($alto-foto._height)/2 ;
      else foto._x = ($ancho-foto._width)/2 ;
   }
   
}


ahora intenta entenderlo y adaptarlo a tu code , creo q no es dificil entenderlo ...

Por buho29

510 de clabLevel

1 tutorial

7 ejemplos

 

unknown

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.