Comunidad de diseño web y desarrollo en internet online

perdida calidad JPG cargado con loadMovie y redimensionado

Citar            
MensajeEscrito el 06 Feb 2009 06:29 pm
Hola,

Tengo un swf que carga JPGs con loadMovie. El swf se adapta al tamaño del navegador, o sea las fotos también. Pero hay una perdida de calidad enorme, sea cual sea el tamaño del navegador; se puede ver en esta imagen:
[img]http://img4.imageshack.us/my.php?image=c024qs9.jpg[/img]

Se redimensionan los JPGs simplemente con image._width = y image._height =
¿Alguna idea de como evitar este problema??

Gracias de antemano.
Un saludo.

Por z7

20 de clabLevel



 

firefox
Citar            
MensajeEscrito el 06 Feb 2009 07:56 pm
Es por el smoothing, cuando tienes una imagen en el escenario y le modificas sus dimensiones originales se produce ese efecto en la imagen si no le aplicas el smoothing, esto lo encuentras en la libreria, click derecho en la imagen, luego Propiedades y das check en la caja "Allow Smoothing"; esa es la forma manual pero tambien se puede por codigo que es el que necesitas.

En este foro a una persona le pasaba el mismo problema que tienes, deberas modificar un poco tu codigo en la forma que cargas la imagen para poder aplicar el Smoothing por codigo porque usa el objecto BitmapData, sigue este post:

http://www.ultrashock.com/forums/actionscript/allow-smoothing-via-actionscript-75227.html

Este es el codigo resultante:

Código ActionScript :

      import flash.display.BitmapData;      

      var imgHolder:MovieClip = createEmptyMovieClip("imgHolder", 1);
      var mcl:MovieClipLoader = new MovieClipLoader();
      var mclListener:Object = new Object();
      mclListener.onLoadInit = applySmoothing;
      mcl.addListener(mclListener);
      mcl.loadClip("my_image.jpg", imgHolder);

      function applySmoothing(target:MovieClip) {
          var mcParent:MovieClip = target._parent;
          var mcName:String = target._name;
          var myBitmap:BitmapData = new BitmapData(target._width, target._height);
          myBitmap.draw(target);

          target.removeMovieClip();
          target = mcParent.createEmptyMovieClip(mcName, mcParent.getNextHighestDepth());
          target.attachBitmap(myBitmap, 1, "auto", true);
      } 

Por drarock

Claber

705 de clabLevel

3 tutoriales

Genero:Femenino  

Lima, Peru

firefox
Citar            
MensajeEscrito el 06 Feb 2009 10:53 pm
EEECOLE yo necesito algo asi! el problema es que me falta experiencia entendiendo el AS y no entiendo claramente como se comporta ese codigo... pero weno, en este post escribí lo que necesité... si hay algun admin que lo quite pues está bien ^^

http://foros.cristalab.com/cargando-imagenes-externas-con-smooth-t50145/

voy a pegar lo que he hecho para ver si me puedes hechar una manito de como puedo aplicar ese mismo principio

Código :


listener.onLoadStart = function(el_mc) {
   el_mc._alpha = 0;
   cargador.linea1.text = "Cargando Fondo";
   cargador.linea2.text = 0+" %";
};

//ya tengo un cargador en el escritorio, no lo he llamado por linkaje ni nada
listener.onLoadProgress = function(el_mc, cargados, totales) {
   elPorcentaje = Math.round((cargados*100)/totales);//todo esto son cosas para posicionarlo dentro de la pelicula...
   laDistancia = (-1*(cargador.izquierdo._x+26))+(cargador.derecho._x-21)+3;//no le hagas caso a nada de esto ^^
   porcentaje2 = (laDistancia*elPorcentaje)/100;
   posParaMasc = -1*(((cargador.derecho._x-22)-porcentaje2)-30);
   cargador.mascara._x += (posParaMasc-cargador.mascara._x)*0.3;
   cargador.linea2.text = elPorcentaje+" % ("+Math.round(cargados/1000)+"kb / "+Math.round(totales/1000)+"kb)";
};

listener.onLoadComplete = function(el_mc) {
   cargador.mascara._x = (cargador.izquierdo._x+20)*-1;
   cargador.linea1.text = "hecho!";
   play();
};

precargador_mcl.addListener(listener);

precargador_mcl.loadClip("imagenes/fotos_inicio/foto1.jpg",foto);


ahora... me di cuenta que el codigo anterior genera un nuevo MC.... tapo... me acabo de dar cuenta de algo :o voy a intentar algo... cualquier resultado edito este post y lo comento :3

Por gosunkugi

Claber

251 de clabLevel

1 tutorial

Genero:Masculino  

Kuri - frontend dev - XueZhongWen!

safari

 

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