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

ActionScript 3 Discussion :

Modification d'une image en code


Sujet :

ActionScript 3

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Juin 2009
    Messages
    29
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Juin 2009
    Messages : 29
    Par défaut Modification d'une image en code
    Bonjour,

    Dans le cadre d'un projet, je dois reproduire un petit menu dynamique.

    Les informations à afficher sont chargées depuis un XML (ça c'est fait).

    En gros, chaque élément du menu a une icône et un texte.

    Exemple: Le bouton "Home" comporte le texte "Home" ainsi qu'une icone représentant simplement une petite maison (image en 2D, toute simple).

    Quand on passe la souris sur ce bouton, le texte se met en gras. ça j'arrive à le faire.

    Mais quand on passe sur ce même bouton, l'icone aussi doit recevoir un effet de gras (En gros on redessine une ligne tout autour d'un pixel pour générer cet effet).

    Et là est mon problème: Comment créer cet "effet de mise en gras", et celà en AS3, c'est à dire pas de code remplaçant l'image de base par une autre image, et sans utilises la timeline. Etant un exercice, les consignes sont ainsi et je suis obligé de faire comme cela.

    Du code, rien que du code, et en travaillant sur l'image de base. Quelqu'un aurait-il une piste ? (sachant que les autres images du menu sont par exemple un "@", donc le contour à modifier ne sera pas qu'un carré, mais des formes variables, je dois donc dynamiser l'ensemble).

    D'avance merci

    Un petit screen pour vous donner une vue de ce menu:


  2. #2
    Membre Expert Avatar de Lorenzo77
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    1 472
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 472
    Par défaut
    tu pourrais tout simplement tricher avec un xscale/yscale.
    sinon dessiner la ligne autour du bitmap n'est pas compliqué avec les éléments dans Graphics

  3. #3
    Membre averti
    Inscrit en
    Juin 2009
    Messages
    29
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Juin 2009
    Messages : 29
    Par défaut
    Malheureusement le code sera analysé et donc la modification par scaleX et scaleY n'est pas possible.

    Je ne connais pas encore les outils Graphics de Flash, aurais-tu une piste ?

    Car tout doit être dynamique: Je ne peux pas faire un code propre à chaque icone, je dois créer une unique fonction qui pourra être utilisée pour n'importe quelle icone, présente actuellement ou pas, le but étant évidemment de pouvoir ajouter/enlever des éléments du menu sans toucher au code Flash (les données icone/label étant stockées dans un XML)

  4. #4
    Membre averti
    Inscrit en
    Juin 2009
    Messages
    29
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Juin 2009
    Messages : 29
    Par défaut
    En fait je viens de trouver une grosse piste:

    je ne dois pas créer un effet de gras, c'est bien plus subtile que ça:

    Dans le fichier de base, les icones sont colorées 0x999999.
    Ce que je prenais pour un effet de gras est juste un remplacement de cette couleur par le blanc en fait.

    Donc je dois tester les pixels ayant pour couleur 0x999999 dans mon image, et les remplacer par 0xFFFFFF au survol de la souris.

    J'ai vu la fonction getPixel() qui permet de tester la valeur d'un pixel.

    Quelqu'un aurait une piste pour tester dynamiquement chaque pixel de mon image, et de remplacer la couleur si elle vaut 0x999999 car je n'ai aucune idée de comment utiliser getPixel() pour mon cas, d'ailleurs je ne sais même pas si c'est la bonne fonction ?

    (Mes icones sont des bitmaps, préalabement transformés en clip, et incorporées à mes boutons par setStyle("icone",buttonIcon);

    D'avance merci

  5. #5
    Membre Expert Avatar de Lorenzo77
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    1 472
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 472
    Par défaut
    si c'est un taf pour une école, tu n'auras pas la note maxi si tu t'amuses a mettre un place une boucle pour colorier chaque pixel avec getPixel/setPixel (c'est mon avis).
    la meilleur facon de faire sera surement une de celles la :
    -utiliser un ColorMatrixFilter pour la propriété filter de la classe Bitmap
    -utiliser un ColorMatrixFilter pour la méthode applyfilter de la classe BitmapData
    -utiliser la méthode colorTransform de la classe BitmapData (me semble le plus logique !??)

    a savoir : les icones ont toutes la meme teinte ?

  6. #6
    Membre averti
    Inscrit en
    Juin 2009
    Messages
    29
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Juin 2009
    Messages : 29
    Par défaut
    Oula alors merci, car c'est dans le cadre d'une candidature professionelle.

    Oui les icones ont toutes la même teinte, une unique couleur de fond et une unique couleur de dessin. Je vais donc essayer avec ça.

    Merci

Discussions similaires

  1. sauvegarder une modification dans une image
    Par SofEvans dans le forum SDL
    Réponses: 2
    Dernier message: 04/04/2009, 13h22
  2. Modification d'une image dans un onglet
    Par Audiothor dans le forum WinDev
    Réponses: 2
    Dernier message: 02/12/2008, 22h54
  3. Enregistrer le modification sur une image.
    Par richard_sraing dans le forum C#
    Réponses: 2
    Dernier message: 06/04/2007, 11h40
  4. Réponses: 1
    Dernier message: 29/03/2007, 09h46
  5. comment passer une image au code
    Par Invité dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 10/02/2007, 16h50

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