Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > Flash/Flex > Flash > AS3
AS3 Questions relatives à la programmation ActionScript 3 (Cours AS3)
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 07/07/2011, 15h21   #1
Invité de passage
 
Inscription : janvier 2010
Messages : 3
Détails du profil
Informations forums :
Inscription : janvier 2010
Messages : 3
Points : 0
Points : 0
Par défaut Probleme capture cam

Bonjour a tous

je viens de terminer une application qui permet à un utilisateur de faire une capture cam.
Il me reste un petit souci que je n'arrive pas à corriger.
J'aimerais que l'utilisateur ait la possibilité d’enregistrer l'image générée par la capture cam sur son bureau.
J'ai repris un code pour cela mais malheureusement je n'arrive pas le faire fonctionner à ma convenance.
Lorsque je clique sur le bouton "enregistrer sur le bureau", il ne m'enregistre pas l'image générée au préalable (cadre N°2 sur l'image) et qui s'affiche à coté de la cam. Mais il m'enregistre une nouvelle capture (cadre N°1 sur l'image).


L'erreur vient de la ligne 78 dans le code AS3.

Merci d'avance pour votre aide

Code :
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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
stage.align = StageAlign.TOP_LEFT;
stage.scaleMode = StageScaleMode.NO_SCALE;
import flash.display.GradientType; 
import flash.display.Loader; 
import flash.display.Sprite; 
import flash.geom.Matrix; 
import flash.net.URLRequest; 
import flash.events.Event;
import flash.display.Bitmap;
import flash.display.BitmapData;
import com.adobe.images.JPGEncoder;
import flash.events.MouseEvent;
import flash.display.DisplayObject;
 
var snd:Sound = new camerasound(); //new sound instance for the "capture" button click
 
capture_mc.addEventListener(MouseEvent.CLICK, prendrePhoto);
capture_mc.buttonMode = true;
save_mc.buttonMode = true;
save_mc.addEventListener(MouseEvent.CLICK,saveImage);
//fb_mc.buttonMode = true;
//fb_mc.addEventListener(MouseEvent.CLICK,partageImage);
 
var prisePhoto:Sprite = new Sprite();
 
addChild(prisePhoto);
 
 
function prendrePhoto(evt:MouseEvent):void 
                {       
						snd.play();
						if (getChildByName("bmp")) removeChild(getChildByName("bmp"));
 
                        var bmp:Bitmap = new Bitmap( getBitmapData(photo) );
                        bmp.x=390-monCadre.width/2;
                        bmp.y=145-monCadre.height/2;
                        prisePhoto.addChild(bmp);
						bmp.name = "bmp";
						//trace(prisePhoto.addChild(bmp).name);
                }
 
 
function getBitmapData( target:DisplayObject ) : BitmapData //Fonction permettant de capturer une partie d'un Display Objetc
 
                {
                        if ( bd )
                        {
                            bd = null;
                        }
						var monRectangle:Rectangle = new Rectangle();
                        monRectangle.x=0;
                        monRectangle.y=0;
                        monRectangle.height=photo.loaderTr.height;
                        monRectangle.width=photo.loaderTr.width;                
 
                        var bd : BitmapData = new BitmapData( monCadre.width, monCadre.height, true);
 
 
                        //monRectangle.rect();
                        bd.draw( target, null, null, null, monRectangle);
 
                        return bd;
						 }
 
 
 
var i:Number=1;
var fileRef:FileReference = new FileReference();
 
function saveImage(e:MouseEvent):void{
var encoder:JPGEncoder = new JPGEncoder();
var ba:ByteArray = encoder.encode(getBitmapData(photo));
fileRef.save(ba,"capture"+i+".jpg");
i++;
	}
 
	//http://www.facebook.com/sharer.php?u=http://www.monsite.com
 
/*function partageImage(e:MouseEvent):void {
	var encoder:JPGEncoder = new JPGEncoder();
var ba:ByteArray = encoder.encode(getBitmapData(photo) );
  var url:String = "http://www.facebook.com/sharer.php?u=ba";
  var request:URLRequest = new URLRequest(url);
  try {
    navigateToURL(request, '_blank');
  } catch (e:Error) {
    trace("Error occurred!");
  }
}*/
Images attachées
Type de fichier : jpg projet.jpg (197,4 Ko, 2 affichages)
maxwell398 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/07/2011, 11h49   #2
Rédacteur
 
Avatar de The_Pretender
 
Homme Matthieu DELOISON
Formateur ActionScript Flash
Inscription : juin 2004
Messages : 645
Détails du profil
Informations personnelles :
Nom : Homme Matthieu DELOISON
Âge : 31
Localisation : France

Informations professionnelles :
Activité : Formateur ActionScript Flash
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : juin 2004
Messages : 645
Points : 3 673
Points : 3 673
Bonjour,

Tu peux utiliser la classe jpeg encoder de thibault imbert.

J'ai fait un tutoriel vidéo pour son utilisation sur actionscript facile.
__________________
Découvrez : Tutoriels, ressources AS2 et AS3
La Méthode AS3 Facile pour développer des applications et jeux Flash en ActionScript 3 : ActionScript-Facile.com
The_Pretender est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 21h53.


 
 
 
 
Partenaires

Hébergement Web