Comunidad de diseño web y desarrollo en internet

Cargar imágenes en flex

Citar            
MensajeEscrito el 24 Mar 2009 09:39 pm
Hola, resulta que estoy haciendo un formulario en flex que debe cargar una foto desde el disco duro del usuario e inmediatamente mostrarla pero he buscado por todas partes como hacerlo y no he encontrado nada, pensé que debería ser con swfloader pero hasta ahora no he podido, me gustaría que alguien me echara una manito.

Por Xyrer

626 de clabLevel

1 tutorial

Genero:Masculino  

Interfaces Super Hero

firefox
Citar            
MensajeEscrito el 25 Mar 2009 12:02 am
Probaste usando un Loader.

Código ActionScript :

//Loader para cargar la imagen
var loader:Loader=new Loader();

//URL de la imagen
var url:URLRequest=new URLRequest("carpeta/carpeta/mi_imagen.jpg");
//mando cargar
loader.load(url);

//Checamos el fin de la carga
loader.contentLoaderInfo.addEventListener(Event.COMPLETE,Mostrar);

function Mostrar(e:Event):void{
//Agregas la imagen una vez cargada ala aplicacion o a donde tu quieras
addChild(e.target.content);
}



Espero algo asi te funcione. Saludos!!

Por Angel Roberto

Claber

248 de clabLevel



 

firefox
Citar            
MensajeEscrito el 25 Mar 2009 08:13 am
Ya que estamos hablando de Flex, y puesto que la imagen está en el disco duro deberíamos usar un Control Image
con sólo cambiarle la propiedad "source" ya te mostraría la imagen

Por Eliseo2

710 de clabLevel



 

firefox
Citar            
MensajeEscrito el 25 Mar 2009 09:32 pm
La idea es cargarla dinamicamente, de modo que yo suba la imagen al servidor y con un event pueda cargarla en el image, pero no he visto nada en la documentación para poder hacerlo

Por Xyrer

626 de clabLevel

1 tutorial

Genero:Masculino  

Interfaces Super Hero

firefox
Citar            
MensajeEscrito el 25 Mar 2009 09:44 pm

Angel Roberto escribió:

Probaste usando un Loader.

Código ActionScript :

//Loader para cargar la imagen
var loader:Loader=new Loader();

//URL de la imagen
var url:URLRequest=new URLRequest("carpeta/carpeta/mi_imagen.jpg");
//mando cargar
loader.load(url);

//Checamos el fin de la carga
loader.contentLoaderInfo.addEventListener(Event.COMPLETE,Mostrar);

function Mostrar(e:Event):void{
//Agregas la imagen una vez cargada ala aplicacion o a donde tu quieras
addChild(e.target.content);
}



Espero algo asi te funcione. Saludos!!


Una preguntica, el "target" al que haces referencia que podría ser?

Por Xyrer

626 de clabLevel

1 tutorial

Genero:Masculino  

Interfaces Super Hero

firefox
Citar            
MensajeEscrito el 26 Mar 2009 04:38 pm
El target es el Loader que despacha el evento, por eso le pones "e.target.content" osea un "Loader.content" el content es lo que se acaba de cargar, si quieres hacer una carga dinamica puedes poner una funcion cargar:

Código ActionScript :


function Cargar(direccion:String){ 
//Loader para cargar la imagen  
var loader:Loader=new Loader();  
  
//URL de la imagen  
var url:URLRequest=new URLRequest("carpeta/carpeta/"+direccion+".jpg");  
//mando cargar  
loader.load(url);  
  
//Checamos el fin de la carga  
loader.contentLoaderInfo.addEventListener(Event.COMPLETE,Mostrar); 
} 
 
function Mostrar(e:Event):void{  
//Agregas la imagen una vez cargada ala aplicacion o a donde tu quieras  
addChild(e.target.content);  
} 



Esa funcion recibe el nombre de tu imagen a cargar y ya tu solo concatenas las carpetas en la direccion asi puedes mandar algo asi:

Código ActionScript :


Cargar("img1"); 
Cargar("img2"); 
Cargar("img3"); 



O capturar por ejemplo un click de boton y mandar cargar cierta imagen, ya solo te resta ponerle imaginacion,espero te sirva Saludos!!!

Por Angel Roberto

Claber

248 de clabLevel



 

firefox
Citar            
MensajeEscrito el 03 May 2009 10:34 pm
Me sale un error cuando pongo ese código, me dice:

Código :

TypeError: Error #1034: Type Coercion failed: cannot convert flash.display::Bitmap@aa83791 to mx.core.IUIComponent.


El código completo fué:

Código :

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
   <mx:Script>
      <![CDATA[
         private function Cargar(direccion:String):void
         {  
            //Loader para cargar la imagen   
            var loader:Loader=new Loader();   
               
            //URL de la imagen   
            var url:URLRequest=new URLRequest("images/"+direccion+".jpg");   
            //mando cargar   
            loader.load(url);   
               
            //Checamos el fin de la carga   
            loader.contentLoaderInfo.addEventListener(Event.COMPLETE,Mostrar);  
         }  
           
         private function Mostrar(e:Event):void{   
            //Agregas la imagen una vez cargada ala aplicacion o a donde tu quieras   
            addChild(e.target.content);   
         } 
      ]]>
   </mx:Script>
   <mx:Button label="cargar" click="Cargar('xyrer')"/>
</mx:Application>


No se mucho de manjeo de bitmaps así que no estoy seguro de que salió mal.

Por Xyrer

626 de clabLevel

1 tutorial

Genero:Masculino  

Interfaces Super Hero

firefox
Citar            
MensajeEscrito el 21 May 2009 04:18 am
Pues el error que te da es porque estas tratando de asignar una imagen ( flash.display::Bitmap ) en un boton (mx.core.IUIComponent) cuando haces el addchild
Suerte!

Por Jeremias

1 de clabLevel



 

firefox
Citar            
MensajeEscrito el 21 May 2009 02:33 pm

Jeremias escribió:

Pues el error que te da es porque estas tratando de asignar una imagen ( flash.display::Bitmap ) en un boton (mx.core.IUIComponent) cuando haces el addchild
Suerte!


Mas o menos entiendo, como sería entonces?

Por Xyrer

626 de clabLevel

1 tutorial

Genero:Masculino  

Interfaces Super Hero

firefox

   Página 1 de 1

 

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