Comunidad de diseño web y desarrollo en internet online

Problema con suavizado de png con loadClip y escalado

Citar            
MensajeEscrito el 18 Sep 2010 06:30 am
Hola amigos.

Bueno, estoy enfrentando un problema que me tiene de los pelos. Ya he leído aquí mismo un post donde el usuario pudo hacerlo pero por más que sigo sus pasos no se en que me equivoco y no lo consigo (este es el post: http://foros.cristalab.com/problemas-con-suavizado-de-imagen-listener-movieclipload-t59557/).

Lo que necesito es cargar, mediante botones, unos logotipos en PNG (transparente), luego escalar esos png al tamaño adecuado y posicionarlos en _x y _y.

Todo esto lo tengo resuelto, salvo por el problema del suavizado, y no consigo obtener una buena calidad final. Les dejo el código que estoy utilizando:

Código ActionScript :

import flash.display.*;
var logoLoader:MovieClipLoader = new MovieClipLoader();
var listenerLogo:Object = new Object();
var loguito:MovieClip = myClipDeColor.globo.cargaLogo.createEmptyMovieClip("n", this.getNextHighestDepth());

//-> listener que crea el BitmapData y redibuja el contenido
listenerLogo.onLoadInit = function(logoTarget:MovieClip):Void  {
   var imgBmp:BitmapData = new BitmapData(logoTarget._width, logoTarget._height, true, 0x00FFFFFF);
   imgBmp.draw(logoTarget);
   logoTarget.attachBitmap(imgBmp, 1, "Auto", true);
   redimensionarImg();
}

//-> muestro el logo (cargo uno cualquiera de ancho y alto variable)
logoLoader.addListener(listenerLogo);
logoLoader.loadClip("../uploads/impresos/miLogoAMostrar.png", loguito);

//-> por ultimo la funcion que escala y posiciona mi clip
function redimensionarImg(){
   if(loguito._width > loguito._height){
      loguito._width = 90;
      loguito._yscale = loguito._xscale;
   }else{
      loguito._height = 120;
      loguito._xscale = loguito._yscale;
   }
   loguito._x = (myClipDeColor.globo._width - loguito._width)/2;
   loguito._y = (myClipDeColor.globo._height - (loguito._height+30))/2;
   loguito.forceSmoothing = true;
}



Como verán, intento en la misma película tanto la clase BitmapData como el 'forceSmoothing', pero no consigo un buen resultado.

Eso sí, (y tal vez pueda espavilar a alguno, conmigo no hay caso); si pongo en el listener un onEnterFrame al mc y lo hago ROTAR, se ve claramente que está muy suavizadito y todo, pero al dejarlo quietito donde debe estar, pues na de na.

Alguna idea que me aclare en que estoy fallando??

Gracias anticipadas ^^

Por rusoftware

46 de clabLevel



 

firefox
Citar            
MensajeEscrito el 20 Sep 2010 11:54 am
Sigo sin poder dar con la solución de este suavizado :(, será que estoy fallando al hacer el draw o el attachBitmap en algun mc incorrecto???

La verdad es que no he trabajado anteriormente con la clase BitmapData y estoy bastante crudo con esto. Cualquier idea será más que bienvenida, al menos para ayudarme a depurar este codigo.

Gracias nuevamente a los que se han tomado y toman el tiempo de leer.

Por rusoftware

46 de clabLevel



 

firefox

 

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