IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Flex Discussion :

Problème chargement Image dans dataProvider


Sujet :

Flex

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Novembre 2007
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 11
    Par défaut Problème chargement Image dans dataProvider
    Bonjour à tous,

    Voilà, je n'arrive pas a charger un composant Image dans le dataProvider d'une TileList. Je doute que le composant TileList soit la cause de mon problème.

    Mon problème est que si j'affecte la source de l'image à un composant mxml Image, elle s'affiche correctement, mais si je créer un composant Image en AS3 et que je l'ajoute à un Array qui sera mon dataProvider de ma TileList, l'image ne s'affiche pas.

    Je ne sais pas si j'ai été très clair ... donc je vous met le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
     
    <?xml version="1.0" encoding="utf-8"?>
    <mx:Application 
    	xmlns:mx="http://www.adobe.com/2006/mxml" 
    	layout="absolute"
    	creationComplete="init()">
     
    	<mx:Script>
    		<![CDATA[
    			import mx.controls.Image;
    			public var images : Array = new Array()
     
    			public function init() : void
    			{
    				var image : Image = new Image();
    				image.source = "assets/images/toto.png";
    				images.push(image);
    				tileList.dataProvider = images;
    			}
     
    		]]>
    	</mx:Script>
     
    	<mx:VBox>
     
    	    <mx:TileList
    	    	id="tileList"
    	        width="100%"
    	        height="100%"
    	        itemRenderer="mx.controls.Image"/>
     
    	    <mx:Image source="assets/images/toto.png"/>
     
    	</mx:VBox>
    </mx:Application>
    En testant ce code, vous verrez que l'image s'affiche dans le composant Image mais pas dans la TileList. (bien sûr rajouter un fichier assets/images/toto.png dans le dossier source de l'application)

    La TileList possède alors un élément Image qui affiche une icone d'image corrompu. Mais en mode débug, je vois bien que mon image a été affecté correctement dans le composant Image... enfin si quelqu'un peut m'éclairer ...

    Merci d'avance

    StimL

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    793
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Avril 2009
    Messages : 793
    Par défaut
    Tu ne peux pas mettre n'importe quoi comme classe dans itemRenderer.
    Jette un oeil au code de l'itemRenderer par défaut d'une TileList (TileListItemRenderer)

  3. #3
    Membre averti
    Inscrit en
    Novembre 2007
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 11
    Par défaut
    Enfaite j'ai trouvé la réponse toute seule ^^

    Il faut créer un itemRenderer personnalisé.

    Ce qui donne ceci au niveau code :

    ItemRendererPerso Thumbnail.mxml :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <?xml version="1.0" encoding="utf-8"?>
    <mx:HBox 
    	xmlns:mx="http://www.adobe.com/2006/mxml"
    	width="100%"
    	height="100%">
    	<mx:Image source="{data.source}" width="100" height="200"/>
    </mx:HBox>
    Nouveau code de l'appli :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
     
    <?xml version="1.0" encoding="utf-8"?>
    <mx:Application 
    	xmlns:mx="http://www.adobe.com/2006/mxml" 
    	creationComplete="init()">
    	<mx:Script>
    		<![CDATA[
    			import mx.controls.Image;
    			public var images : Array = new Array()
     
    			public function init() : void
    			{
    				var image : Image = new Image();
    				image.source = "assets/images/toto.png";
    				images.push(image);
     
    				tileList.dataProvider = images;
    				tileList.width = 1000;
    				tileList.height = 1000;
    			}
     
    		]]>
    	</mx:Script>
        <mx:TileList
        	id="tileList"
            itemRenderer="Thumbnail"/>
    </mx:Application>
    Voilà, ca en aidera peut-être quelques un(e)s ^^

  4. #4
    Membre émérite
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    793
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Avril 2009
    Messages : 793
    Par défaut
    Quel intérêt de créer des objets Image dans ton dataprovider dans la mesure où ils ne sont pas utilisés puisque tu utilises l'objet Image de ton itemRenderer ???
    Il suffit de stocker le nom des images.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème chargement table dans Recordset
    Par chris76 dans le forum Access
    Réponses: 1
    Dernier message: 21/06/2006, 12h04
  2. Problème avec image dans JPanel
    Par littleshrimp dans le forum AWT/Swing
    Réponses: 7
    Dernier message: 14/05/2006, 15h05
  3. [VB]Problème affichage image dans IE6
    Par flogreg dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 20/02/2006, 19h41
  4. Problème affichage image dans IE6
    Par flogreg dans le forum IE
    Réponses: 6
    Dernier message: 13/02/2006, 15h29
  5. problème dessiner image dans fenêtre
    Par raoulman dans le forum MFC
    Réponses: 5
    Dernier message: 13/12/2004, 16h44

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo