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 pour capturer une image d'un composant Flex


Sujet :

Flex

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Novembre 2008
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 17
    Par défaut Problème pour capturer une image d'un composant Flex
    Bonjour,
    j'ai un composant qui hérite de Canvas et ce que je veux faire, c'est de pouvoir en faire une image et la redimensionner (afin de pouvoir en faire un apercu)

    Actuellement, j'ai testé avec la méthode ImageSnapshop.captureBitmapData(source).

    Et celà fonctionne lorsque j'invoque cette méthode via du code mxml. Mon canvas ainsi que tous ses childs sont bien déssinés.
    Mon problème est que je dois créer mon composant en as3. Et quand j'invoque cette même méthode en as3, ça ne fonctionne plus. Il m'affiche seulement une image de la taille de mon composant sans les childs

    Je ne suis pas sur que ça ait à voir quelque chose. Mais pour être sûr que mon composant soit créé complétèment, j'ai mis sa "creationPolicy" à all.

    Ca fait longtemps que je cherche des informations là dessus sans succès.

    Auriez vous des pistes ou une solution qui pourrait me convenir ?

    En vous remerciant,
    Chris

  2. #2
    Membre Expert
    Avatar de Jim_Nastiq
    Homme Profil pro
    Architecte, Expert Flex
    Inscrit en
    Avril 2006
    Messages
    2 335
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte, Expert Flex
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 335
    Par défaut
    Salut,

    pourrais tu nous montrer ton code ? nous ne sommes pas encore devin

    Pensez vraiment à effectuer une recherche avant de poster, ici et sur un moteur de recherche! c'est la moindre des choses
    Pensez au tag

    Mon Blog sur la techno Flex
    Ma page sur Developpez.com

    Jim_Nastiq

  3. #3
    Membre averti
    Inscrit en
    Novembre 2008
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 17
    Par défaut
    voici la partie de mon code utile à la compréhension (c'est la création de mon composant en mxml)

    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
    36
    37
    38
    39
     
    <?xml version="1.0" encoding="utf-8"?>
    	<mx:ViewStack xmlns:mx="http://www.adobe.com/2006/mxml"  xmlns:composant="composant.*" xmlns:local="*" selectedIndex="1"
    		width="146" height="128">
     
    	<mx:Metadata>
        [Event(name="templateSelectionne", type="flash.events.Event")]
    </mx:Metadata>
    <mx:Script>
     
    		   private function creationComplete():void {
    			//Alert.show("creationComplete"); 
    			var im:ImageEvolue = new ImageEvolue();
    			//on choisit quelle image on attribue
    	   		im.source = "icons/logo.png";
       			im.width = 10;
         		im.height = 12;
    	    	im.toolTip = "test tooltip";
         		im.nouvelElement = true;
         		im.x = 10;
         		im.y = 20;
    			p.addChild(im);
     
    		 	snapUI.source = new Bitmap(ImageSnapshot.captureBitmapData(p,null,null,null,null,true));
     
    		}
     
        </mx:Script> 
    	<local:Page id="p"/>
    	<mx:VBox width="146" alpha="1" height="128" backgroundColor="#FFFFFF" rollOver="onRollOver()" 
    		rollOut="onRollOut()" horizontalAlign="center" creationPolicy="all" 
    		creationComplete="initApercuCentral()/**Alert.show('creation complete')*/"
    		toolTip="Auteur : {_auteur}, text : {nomTemplate}" backgroundAlpha="0"
    		horizontalScrollPolicy="off" verticalScrollPolicy="off">
     
    		<mx:Image creationComplete="creationComplete()" id="snapUI" width="126" height="95"/>			
    		<mx:Label text="valeur de {_auteur}" id="label2"/>
    	</mx:VBox>
    	</mx:ViewStack>

  4. #4
    Membre averti
    Inscrit en
    Novembre 2008
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 17
    Par défaut
    complément d'information (car je dis que j'ai un problème avec le code AS et j'en ai pas mis)

    je crée mon composant a (de type ApercuPres) et une fois complet, je l'ajoute à myDP1 (le data provider du TileList qui affiche mes apercus)

    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
     
    for each(var row:XML in e.data.row) 
            {
                var temp:* = {};
                var a:ApercuPres = new ApercuPres();
                for (var key:String in fields) 
                {
                    temp[key + 'Col'] = row[key];    
                }
     
                a.id = row["id_template"];
                a.setNameTemplate(row["name"]);
    	 		a.auteur = row["auteur"]; ///////////////////////////////////////////////////////////////////////////////////
    	 		a.toolTip = "totot"
    	 		//a.label2.text = "val de " + row["auteur"];
    	 		a.widthTemplate = row["widthTemplate"];
    	 		a.heightTemplate = row["heightTemplate"];
                dataArr.addItem(temp);
    			myDP1.addItem(a);
            }
    aussi la déclaration de mon TileList

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <mx:TileList id="letterList" itemRenderer="ApercuPres"
         dataProvider="{myDP1}" allowMultipleSelection="false" width="746" height="598" maxColumns="4" click="clickOnListLetter(event)">
    </mx:TileList>
    Ce coup-ci je pense que j'ai rien oublié

Discussions similaires

  1. Réponses: 1
    Dernier message: 01/05/2007, 17h43
  2. Problème pour insérer une image
    Par Paulinho dans le forum Tableaux - Graphiques - Images - Flottants
    Réponses: 4
    Dernier message: 26/04/2006, 23h36
  3. Problème pour afficher une image bmp
    Par homeostasie dans le forum MFC
    Réponses: 6
    Dernier message: 08/05/2005, 18h36
  4. [MFC]Problème pour afficher une image.
    Par Deedier dans le forum MFC
    Réponses: 4
    Dernier message: 25/03/2005, 16h13
  5. Réponses: 13
    Dernier message: 23/12/2004, 18h01

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