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 1 & ActionScript 2 Discussion :

Convertir un fichier swf en fichier image [Fait]


Sujet :

ActionScript 1 & ActionScript 2

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 11
    Par défaut Convertir un fichier swf en fichier image
    Bonjour !

    Mon problème est le suivant : je souhaite convertir dynamiquement un fichier swf en fichier image style jpeg ou autre.
    Mon "animation" n'en est pas vraiment une, puisqu'elle ne contient qu'une frame.

    Cette conversion servira en fait à envoyer l'image générée dans un mail, puisqu' apparemment on ne peut pas envoyer directement du flash dans un code.

    Si quelqu'un a une idée ou un début de piste pour résoudre ce problème, je suis très intéressé.

    Merci.

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 22
    Par défaut
    que cherche tu as faire exactement?

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 11
    Par défaut
    En gros sur mon site j'ai un formulaire.

    Quand ce formulaire est rempli et qu'on clique sur envoyer, un popup en flash apparaît et affiche les données du formulaire (oui il est impératif que ce popup soit en flash pour mon site).

    Et là je veux faire en sorte que si on clique sur le bouton "envoyer cette carte à un ami", un script génère un fichier image de l'animation contenue dans ce popup (qui ne contient qu'une frame donc ça va), pour que je puisse inclure cette image dans le mail en question.

    Je sais que c'est réalisable avec la librairie PHP GD, j'ai étudié quelques scripts (celui-ci ou celui-là par exemple), mais c'est un peu trop complexe pour mon niveau.

    Voilà, vous savez tout.

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 22
    Par défaut
    quelle est l'utilité de faire du flash

    un script génère un fichier image de l'animation contenue dans ce popup (qui ne contient qu'une frame donc ça va)
    si ton anim ne contient qu'un frame ca revient à être simplement une image...
    je ne comprend pas trop !

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 11
    Par défaut
    C'est parce que ce popup récupère les données du formulaire via des variables php, et que ces variables sont affichées avec une police spéciale.

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 22

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 37
    Par défaut
    générer un jpg a partir d'un flash :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    ////////////////// 
    var bitmap = new flash.display.BitmapData(stage.width,stage.height, true, 0x00000000);
    this.createEmptyMovieClip("copie", 2);
    copie._x=0;
    copie._y=0;
    copie.attachBitmap(bitmap, 2, "auto", true);
     
    //affichage
    BTNcapt.onRelease = function() {
    	bitmap.draw(leclipque tu veux copier);// <- je suis pas sur que ca marche avec roots
    };
    ça, ça va te faire un capture dans le flash après il faut l'envoyer vers un php:

    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
     
    BTNrec.onRelease = function() {
    	lv = new LoadVars();
            lv.nom=nomdetaFuturImageJpg;
    	lv.largeur=copie._width;
    	lv.hauteur=copie._height;
    	lv.tab = new Array();	
    	for (i=0; i<lv.largeur; i++) {
    		for (j=0; j<lv.hauteur; j++) {
    		lv.tab.push(bitmap.getPixel(j, i));
    		}
    	}
    	lv.send("rec.php","POST");
    	lv.onLoad = function(ok)
    	{if(ok)
    		{	
    			stat="enregistement de "+lv.tracer;			
    		}

    ET pour le php :

    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
     
                  $lv = $_POST['tab'];
                  $temp = explode(",",$lv);
                  settype($temp[1],'integer'); 
                  $sortie = imagecreatetruecolor($_POST['largeur'],$_POST['hauteur']);
                  $k = 0;
     
                  for($i=0; $i<$_POST['largeur']; $i++){
                    for($j=0; $j<$_POST['hauteur']; $j++){
                      imagesetpixel($sortie,$j,$i,$temp[$k]);
                    $k++;
                    }
                  } 
                  $tracer="affichage de l'image";              
                  $largeurDestination = 70;
                  $hauteurDestination = 70;
                  $im = ImageCreateTrueColor ($largeurDestination, $hauteurDestination) 
                          or die ("Erreur lors de la création de l'image");               
     
                  $largeurSource = imagesx($sortie);
                  $hauteurSource = imagesy($sortie); 
              	if($largeurSource>$hauteurSource)
                {
                $distx=($largeurSource-$hauteurSource)/2;
                $disty=0;
                $largeurSource=$hauteurSource;
                }else
                {
                $disty=($hauteurSource-$largeurSource)/2;
                $distx=0;
                $hauteurSource=$largeurSource;
                }
     
              	ImageCopyResampled($im, $sortie, 0, 0, $distx, $disty, $largeurDestination, $hauteurDestination, $largeurSource, $hauteurSource);
     
              	$miniature = "mini/".$_POST['nom'];
                  ImageJpeg ($im, $miniature); 
                  $tracer=$miniature;

    Voila ça t'enregistre une image en jpg après ce script comporte une erreur au niveau de la taille de l'image a la fin j'ai pas encore eu le temps de corriger, d'ailleurs si quelqu'un a une idées.. l'image et plus petite et est compléter par un fond noir il y a peu prêt 1/3 de différence...

Discussions similaires

  1. Réponses: 1
    Dernier message: 20/10/2015, 09h15
  2. Convertir un fichier .swf en .fla
    Par solawe dans le forum Flash/Flex
    Réponses: 1
    Dernier message: 03/09/2010, 15h28
  3. Réponses: 15
    Dernier message: 28/11/2008, 17h57
  4. Réponses: 26
    Dernier message: 03/11/2008, 16h29
  5. charger un fichier .swf à une image clé précise
    Par Clemence. dans le forum Flash
    Réponses: 4
    Dernier message: 12/04/2007, 20h48

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