Faire un simple Snapshot en
flash as3 et sauver l’image au format JPEG avec la classe JpegEncoder:
2 parties: FLASH
1: import flash.display.BitmapData;
2: import com.adobe.images.JPGEncoder;
3: var filename="myfile.jpg";
4: var cam:Camera = Camera.getCamera();
5: if (cam.muted) {
6: Security.showSettings(SecurityPanel.DEFAULT);
7: }
8:
9: video.attachCamera(cam);
10: bouton_btn.addEventListener("click",prendrePhoto);
11: function getBitmapData( target : Video ):BitmapData {
12: var bd : BitmapData = new BitmapData( target.width, target.height );
13: var m : Matrix = new Matrix();
14: bd.draw( target, m );
15: return bd;
16: }
17: function prendrePhoto(e:MouseEvent):void {
18: var jpgSource:BitmapData = new BitmapData (160,120);
19: jpgSource.draw(video);
20: var bm_video:Bitmap = new Bitmap(jpgSource);
21: image1_mc.addChild(bm_video);
22: var jpgEncoder:JPGEncoder = new JPGEncoder(85);
23: var jpgStream:ByteArray = jpgEncoder.encode(jpgSource);
24: var header:URLRequestHeader = new URLRequestHeader("Content-type", "application/octet-stream");
25: var jpgURLRequest:URLRequest = new URLRequest("upload.php?filename="+filename);
26: jpgURLRequest.requestHeaders.push(header);
27: jpgURLRequest.method = URLRequestMethod.POST;
28: jpgURLRequest.data = jpgStream;
29: var loader:URLLoader = new URLLoader();
30: loader.addEventListener(Event.COMPLETE, uploadCompleted);
31: loader.load(jpgURLRequest);
32:
33: }
34: function uploadCompleted(e:Object):void {
35: trace("uploaded finisehd");
36: }
et la partie PHP qui sauve l’image générée
<?
$filename=$_GET["filename"];
$fp = fopen($filename , 'wb' );
$jpg = $GLOBALS["HTTP_RAW_POST_DATA"];
fwrite( $fp, ($jpg) );
fclose( $fp );
?>