Aide - Recherche - Membres - Calendrier
Version complète : récupérer la taille des images dans une tileList
Centre de Formation Flash - Forums Adobe Flash > Rich media et intégration > Flex
st-f
Comme l'indique le titre de ce post, je cherche à récupérer la longueur et la largeur d'une image chargée dans un composant tileList.
Tonic
Salut,

tu as modifier l'itemRenderer du tileList, et tu as donc un composant y faisant office?

Peut on voir un peu ton code?

Parce que si c'est juste une taille d'image, il te suffit d'attendre la fin de chargement de tom image (évènement COMPLETE), et d'utiliser ensuite la propriété height.
st-f
je n'ai pas modifié la tileList, elle n'a pas d'itemRenderer. Je lui envoi juste un dataProvider qui va charger une liste d'images. Concretement, j'aurai besoin de récupérer la taille d'origine d'un élément de la liste au clic de l'utilisateur.
Fusion
CITATION(st-f @ Jul 9 2007, 02:41 PM) *
je n'ai pas modifié la tileList, elle n'a pas d'itemRenderer. Je lui envoi juste un dataProvider qui va charger une liste d'images. Concretement, j'aurai besoin de récupérer la taille d'origine d'un élément de la liste au clic de l'utilisateur.


Donc en gros, il y a des images dans ta TileList? Si tel est le cas, utilise la propriété selectedChild de ta TileList qui te donnera l'accès à l'image sélectionnée (s'il y en a une de sélectionnée).

CODE
Image(tileList.selectedChild).width;
Image(tileList.selectedChild).height;
Tonic
je ne comprend pas comment tu fais pour afficher des images dans ta tilelist sans modifier l'itemrenderer...

On peut voir le code (simplifier au maximum)...
st-f
CITATION(Fusion @ Jul 9 2007, 12:47 PM) *
Donc en gros, il y a des images dans ta TileList? Si tel est le cas, utilise la propriété selectedChild de ta TileList qui te donnera l'accès à l'image sélectionnée (s'il y en a une de sélectionnée).

CODE
Image(tileList.selectedChild).width;
Image(tileList.selectedChild).height;


La propriété selectedChild n'existe pas pour le composant tileList

CITATION(Tonic @ Jul 9 2007, 12:48 PM) *
je ne comprend pas comment tu fais pour afficher des images dans ta tilelist sans modifier l'itemrenderer...


Autant pour moi, il y a bien un itemRenderer. On peut s'en passer si les images sont statiques, ce qui n'est pas le cas ici.
Fusion
CITATION(st-f @ Jul 9 2007, 03:11 PM) *
La propriété selectedChild n'existe pas pour le composant tileList
Autant pour moi, il y a bien un itemRenderer. On peut s'en passer si les images sont statiques, ce qui n'est pas le cas ici.


Oups pardon I did it again... icon_redface.gif

C'est selectedItem.

Deux fois que je fais la gaffe...
Tonic
Ca ne chargera rien Fusion, l'image sera automatiquement redimensionné dans le tilelist, donc tu ne récupéreras pas la taille originale de la photo.

Fusion
CITATION(Tonic @ Jul 9 2007, 03:17 PM) *
Ca ne chargera rien Fusion, l'image sera automatiquement redimensionné dans le tilelist, donc tu ne récupéreras pas la taille originale de la photo.


Ya des fois je me demande si ça n'est pas toi qui aurais conçu le Flex d'Adobe icon_razz.gif

st-f
Peut être qu'il n'existe tout simplement aucun moyen d'accéder à cette propriété... A la limite je peux toujours charger l'image selectionnée dans un canvas, récupérer la taille puis détruire le canvas, mais c'est pas très propre comme solution.
Tonic
le mieux, serait d'invoquer un script php, qui va dans le dossier où sont tes images, et récupères le nom et la taille de chacune d'entre elle.

Ensuite, coté flex, tu fait la correspondance entre l'image clické, et les tailles qui seraient par exemple stocké dans un tableau d'objet (objet contenant un identifiant, width et height).

st-f
CITATION(Tonic @ Jul 9 2007, 01:43 PM) *
le mieux, serait d'invoquer un script php, qui va dans le dossier où sont tes images, et récupères le nom et la taille de chacune d'entre elle.

Ensuite, coté flex, tu fait la correspondance entre l'image clické, et les tailles qui seraient par exemple stocké dans un tableau d'objet (objet contenant un identifiant, width et height).


Flex charge les images, puis les redimensionne. La taille d'origine des images existe donc forcément quelque part dans le composant (mais ces valeurs ne sont apparemment pas stockées).
Tonic
Tu as essayé sur l'évènement COMPLETE, de tracer la taille de tes images?
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'informations, la mise en page et les images, veuillez cliquer ici.
Invision Power Board © 2001-2008 Invision Power Services, Inc.