Classe Matrix de Flash8 eronnée? Pub Nike et Ecrans Transparents
Mar 24

Bonjour à tous,
Voilà la nouvelle classe est prête :)
Gràce à l’aide de Richard Lester et Didier Brun, j’ai pu finaliser mon idée et cette nouvelle version de la classe DistortImage.

En fait la fameuse idée dont je vous avais parlé avant n’a pas été utilisée. Pourquoi? Car il se trouve qu’en fait modifier la matrice du MovieClip revienne au même que de le redessiner avec la matrice adaptée… Moi personellement je ne m’y attendais pas du tout…

Enfin neanmois nous avons reussit à obtenir des performances entre 2.5 et 3 fois supérieures à la version précédente! Pas mal je pense.

Voici une capture d’écran, image obtenue à partir du flux de ma webcam ^^
me distort

Et voici un exemple avec une webcam pour que vous puissiez tester par vous même:
placeholder for flash movie

Vous pouvez télécharger le tout ( DistortImage.as, le fla, le swf ) ici : sources !

36 commentaires pour “DistortImage 2.0, la façon la plus performante de déformer des images en Actionscript”

  1. liguorien a dit :

    Excellent :D

    C’est très fluide chez moi :)

  2. ekameleon a dit :

    Franchement bon boulot :) Je regarderai cela de plus prêt ce week end…
    EKA+ :)

  3. Foxy a dit :

    ça le fait grave, bravo kirou ! J’ai relégué l’info sur mon blog et j’en ai profité pour réaliser une petite démo avec un flv de base :

    DistorImage avec vidéo FLV en PHP stream

  4. kiroukou a dit :

    Merci les mecs c’est sympas :)
    Foxy, j’adore ton exemple! Ca rend qd meme super bien ce petit truc :)
    Et merci pour l’article très sympathique :)

  5. Philippe a dit :

    C’est énorme !
    Par contre, sure le site de Foxy (ensuite j’ai pas testé ta version) le player Flash 8.5 plante fort abruptement.

  6. kiroukou a dit :

    Merci,
    Sinon j’ai eu le même blem avec la vidéo de Foxy au bout d’un moment. Ca freeze Firefox. J’ai moi aussi le player 8.5. Foxy si tu nous lit avant que je te vois sur MSN :P

  7. Foxy a dit :

    Exact et ç’est la cas pour moi aussi ! Firefox Player 8.5 aussi. Alors j’ai déjà eu ce genre de problème sous FireFox avec les matrices, ça se produisait quand les paramètres tx & ty n’étaient pas entiers. Mais visiblement j’ai fait des tests et je réussi pas à corriger le problème. Je ne pense pas que le problème vienne du code vidéo du player parcequ’il fonctionne très bien sans DistortImage mais j’aimerais bien en avoir la certitude. Mon exemple est du progressive download PHP, peut-être qu’à un moment le flux n’est pas transmis et que l’opération de dessin merdoie ? Il faut que je pousse les tests plus loin pour voir vraiment d’où ça vient, si c’est de DistortImage, de mon Player, de l’association des deux ? Si d’ici là vous avez des pistes, je suis preneur ! (NB: Le bug ne se produit absoluement pas sur IE) ???

  8. Foxy a dit :

    Bon j’ai localisé le BUG mais impossible de le résoudre. C’est au moment du dessin de la texture :

    d.texture.draw(video_mc).

    Sachant que video_mc contient juste l’objet Video. Si je vire l’objet Video et que je mets un symbole graphique à la place, ça tourne.

    J’ai tenté de faire des traces d’un peu de tout sur video_mc pour déterminer ce qui n’allez pas, mais tout à l’air bon, ses propriétés sont cohérentes au moment du crash.

    Donc pourquoi la méthode BitmapData.draw() merdoie quans le clip contient une vidéo ? Grand mystère. J’ai pensé à un problème de crossdomain mais la vidéo est hébergée sur le même domaine !

    J’ai trouvé quelques bugs de freeze de firefox sur les tehcnotes MM mais aucune qui incrimine BitmapData.draw(). Je vais essayer d’isoler le problème à son stricte minimum pour l’envoyer à MM.

  9. kiroukou a dit :

    Et si tu met à jour le bitmapData à une frequence differente de l’anim, moins ou plus rapidement par exemple.
    Il y a aussi les paramètres à la methode draw il me semble, peut etre il serai interessant de jouer dessus. Avec IE je n’ai pas de pbs, donc j’imagine que cela vient plutot du player…

  10. kiroukou a dit :

    Et puis si mon exemple avec la webcam fonctionne sans soucis, c’est que cela ne vient pas tellement du draw, mais plutot de ce qui est dessiner ds le bitmapData! Enfin c’est une supposition

  11. Foxy a dit :

    Oui j’ai essayé en mettant une matrice bidon un rectangle un blendmode et tout y’a rien à faire.

    Le truc c’est que mon objet vidéo contient uniquement un flux NetStream qui provient d’un FLV chargé, y’a aucune raison que ce soit différent de la WebCam (si ce n’est la taille, ma vidéo est un peu plus large et haute).

    L’autre différence par rapport à la webcam c’est la source du stream, c’est en ça qu’il y a peut être un rapport avec une histoire de crossDomain qui ne s’applique pas à la webcam (vu qu’elle émane du poste client).

    Y’a déjà une tartine de remarque sur draw(à dans la livedoc de macromedia, et notament de blème avec firefox, donc je pense que c’est pas un hazard. On trouvera bien :)

  12. Riggs a dit :

    Salut,

    j’ai fais la même expérience à peu prêt à partir de vidéos enregistrées via flashMediaServeur. Et j’essaie de faire une simple capture de la première image en utilisant BitmapData.draw().
    Ca fonctionne nickel quand je suis dans flash mais ça ne marche plus dès que le swf est mis sur mon serveur et j’ai en retour “violation de la securité sandBox”… As tu trouvé une solution pour authoriser cette opération?

    Merci d’avance,

  13. kiroukou a dit :

    Salut,
    Non je ne connais pas cette erreur :/
    Je n’ai pas le temps de regarder du côté de la doc de Flash pour voir quand cette exception est lancée, mais peut être cela vient t’il du fait que le bitmap que tu déformes n’est pas complètement chargé, et que le draw n’est pas possible (en local ce serai tellement rapide qu’il n’y aurait pas de pbs).
    Essaie peut etre une simple temporisation avant de faire cette capture…
    Je n’ai pas d’autres idées pour le moment dslé.
    Bon courage++

  14. MustyAlien a dit :

    Alors là, je suis impressioné de chez impressioné.
    Vous êtes des dieux les gars.
    Depuis le temps que j’avais un projet en tête et que je ne savais pas comment déformé un clip. Je vais maintenant enfin pouvoir le réalser grace à votre class…

    Mille Bravo

  15. boubou a dit :

    hello j’aimerais telelcharger le programme pour deformer mais je sais pas comment faire qqn peut m’aider please

  16. Elfyps a dit :

    Hello!

    Je cherche à appliquer la class DistortImage à une simple image.
    Quelqu’un pourrait m’éclairer?

    Merci!

    Super en tout cas la version en ligne! Dommage que cela ne passe pas sous FF!

  17. dz.art a dit :

    Bonjour,
    merci pour ce systeme de déformation d’images, maintenant je cherche comment déformer deux images dans le même fla j’ai essayé en duplicant les instances sans résultat, alors je me dis qu’il faut certainement rentrer dans la Classe, pourriez vous m’aider ?

  18. fgsdf a dit :

    c koi le mot de passe pr decompresser le fichier???

  19. Nel a dit :

    Hello, elle est très intéressante cette classe et semble correspondre à peu près à ce que je recherche (mais pas tout à fait)…
    Je veux réaliser un slider présentant une succession d’images chargées dynamiquement (fichier XML et loadclip), images qui seront affichées en perspective et éventuellement déformées en animation…
    Possible ou pas possible ?

  20. starcrouz a dit :

    Bonjour !

    Ta classe est super intéressante. J’aimerais partir de cette classe pour développer une perspective. Comme le site sur lequel je voudrais la mettre sera mis en ligne par une entreprise (mais pas pour vendre des choses), je ne sais pas si la licence l’autorise. Peux tu me dire si tu es d’accord ou non.

    Merci.

  21. Matthieu a dit :

    Bonjour,

    Vraiment génial ta classe, merci de la partager.

  22. Martin a dit :

    Qu’est ce que c’est bien !!! bravo

  23. chibi totoro a dit :

    var b:BitmapData = new BitmapData( _root.mVideo._width, _root.mVideo._height );

    Cette ligne me retourne l’erreur “impossible de charger la classe BitmaData”. Par contre si je la remplace par
    b = new BitmapData( _root.mVideo._width, _root.mVideo._height );
    là ca passe. Une explication ?

  24. chibi totoro a dit :

    Bon tout fonctionne apparemment si on met les “import” sur la frame où on utilise les classes. C’est un peu con, je pensais qu’il suffisait de les mettre sur la 1ere frame de l’anime.
    Désolé pour le dérangement

  25. gonzolder a dit :

    ja krevetko! Vsem sasat’!

  26. marie a dit :

    merci beaucoup pour cette classe, elle m’a beaucoup aidé, et elle est très efficace!

  27. shirotokoro » Class Blob: ou comment donner un effet de flapflupblurptrucchpasquoila à vos MovieClips en mouvement avec 2 lignes de code a dit :

    […] de mouvement bisare à vos MovieClip en mouvement, j’utilise une version modifié de la class de distortion de kiroukou, l’effet peut s’appliquer lors d’une translation, d’un drag les MovieClip […]

  28. Alama a dit :

    Bonjour, c’est justement ce que je cherche, pour appliquer à une simple image, afin de faire une simple turn table. :D
    Cool, juste le temps d’analiser les 2 méthoes et propriétés et ça doit aller.. ;) Merci a Kiroukou.. :D

  29. Alama a dit :

    J’expérimente le truc, et je me pose une question.. pourquoi doit on créer un nouveau movieClip qui sera texturé avec un autre movideClip contenant l’image (jpg)

    On ne sait pas distortioner directement le clip de base?

    Autre chose, il est noté dans la classe que le parametre 2 de la méthode Distort est un link du clip de trouvant librairie, mais quan je fais ça, ca ne marche pas et la classe me retourne l’erreur prévue a cet effet.. pourtant, j’ai bien exporté vers l’image 1 pour AS et bien écrit l’ID..

    Bon, je continue a expérimenter pour faire ma turnTable d’un jpeg :D

  30. Alama a dit :

    J’ai déposé un code qui exploite cette classe pour faire une turntable sur FlashXpress ;)

    http://www.flashxpress.net/forum/showthread.php?t=65247

  31. JL a dit :

    Bonjour,
    excellente cette classe !…
    Je vois qu’elle est protégée sous la forme
    * Licensed under the CREATIVE COMMONS Attribution-NonCommercial-ShareAlike 2.0

    Comment faire si l’on souhaite pouvoir l’utiliser dans une application commerciale ?

  32. kiroukou a dit :

    Bonjour,

    me contacter ;)

    ++

  33. JL a dit :

    OK parfait
    mais en fait mon problème est que je n’arrive pas à trouver votre mail …
    (d’où mon message dans ce blog…) … désolé…

  34. jhice a dit :

    De la balle cette classe !
    C’est ce que je cherchais pour faire au plus simple !

    Merci !

  35. AS2 - Give a square mc perspective. - Ultrashock Forums a dit :

    […] You can use the class here in […]

  36. pascal a dit :

    Hello,

    Je suis un débutant.

    J’aimerais charger un swf plutôt que la web cam.
    J’y arrive pô :(

    Merci

Répondre