Lo que estoy haciendo es subir fotos a un servidor (no, no a mí, ;p) con AS3 + PHP (usando el FileReference y todo el kit) pero al terminar de hacer esta carga empieza la descarga de la misma foto. Esta foto la cargo dentro de un movieclip contenedor y haga un resize de la misma para que se ajuste a dicho contenedor.
El problema que tengo es que hago una copia del movieclip con BitmapData .
Aquí el código para explicarme:
Código :
// Al seleccionar el archivo (jpg) a subir
private function FileReferenceSelect(e:Event):void {
fileReference.upload(urlRequest);
}
// Al terminar de subirse
private function onFileComplete(e:Event):void{
url=pathImagenes+fileReference.name;
urlRequest=new URLRequest(unescape(url));
loader=new Loader();
loader.load(urlRequest);
loader.contentLoaderInfo.addEventListener(Event.COMPLETE,listenerCompleteLoader);
}
private function listenerCompleteLoader(e:Event):void{
trace("listenerCompleteLoader.................................");
fotoBW=new MovieClip();
foto=new MovieClip();
fotoBW.name="fotoBW";
fotoBW.addChild(loader.content);
if (fotoBW.width>mc_contenedorRecorte.width || fotoBW.height>mc_contenedorRecorte.height){
var factor_WH:Number;
if (fotoBW.width>fotoBW.height){
factor_WH=fotoBW.height/fotoBW.width;
fotoBW.width=mc_contenedorRecorte.width;
fotoBW.height=fotoBW.width * factor_WH;
trace("Ancho > Alto" );
trace("mc_contenedorRecorte.width =" +mc_contenedorRecorte.width + "fotoBW.width = " +fotoBW.width);
}
else{
factor_WH=fotoBW.width/fotoBW.height;
fotoBW.height=mc_contenedorRecorte.height;
fotoBW.width=fotoBW.height * factor_WH;
trace("Alto > Ancho");
trace("mc_contenedorRecorte.height =" +mc_contenedorRecorte.height + "fotoBW.height = " +fotoBW.height);
}
}
var bmpData2=new BitmapData(fotoBW.width,fotoBW.height,true,0x00ffffff);
bmpData2.draw(fotoBW); var bmp2=new Bitmap(bmpData2);
foto.name="foto";
foto.addChild(bmp2);
//agrega foto que va en el fondo
mc_contenedorRecorte.addChild(fotoBW);
// ---------------------- A ESTA LÍNEA LA ESTA MANDANDO A FREIR ESPÁRRAGOS (según yo)--------------------------
foto.width=fotoBW.width; foto.height=fotoBW.height;
//agrega foto que está enmascarada
mc_contenedorRecorte.addChild(foto);
// color para foto en "blanco y negro" (area que no esta seleccionada)
var color:ColorTransform = fotoBW.transform.colorTransform;
color.redMultiplier = 1;
color.greenMultiplier = 1;
color.blueMultiplier = 1;
color.alphaOffset=-155;
// color para region de foto seleccionada
var color2:ColorTransform = foto.transform.colorTransform;
color2.redMultiplier = 1;
color2.greenMultiplier = 1;
color2.blueMultiplier = 1;
color2.alphaOffset=0;
fotoBW.transform.colorTransform = color;
foto.transform.colorTransform=color2;
}
Gracias
