//Imports Flash import flash.display.MovieClip; import flash.display.BitmapData; import flash.utils.ByteArray; import flash.net.URLRequestHeader; import flash.net.URLRequest; import flash.events.MouseEvent; //Import de la classe Adobe JPGEncoder import com.adobe.images.JPGEncoder; function createJPG(mc:MovieClip,n:Number,fileName:String) {
//Transforme le contenu à enregistrer en JPG en données bitmap
}var jpgSource:BitmapData = new BitmapData(mc.width,mc.height);
jpgSource.draw(mc);
//Création d'un encodeur au format JPG var jpgEncoder:JPGEncoder = new JPGEncoder(n); //Encodage des données bitmap et stockage dans un tableau de données var jpgStream:ByteArray = jpgEncoder.encode(jpgSource); //Définition du type de contenu envoyé dans l'entête de l'URL var header:URLRequestHeader = new URLRequestHeader("Content-type","application/octet-stream"); //Envoi des données vers la page PHP pour l'ouverture d'une fenêtre d'enregistrement var jpgURLRequest:URLRequest = new URLRequest("save.php?name="+fileName+".jpg"); //Spécification du nom du JPG
jpgURLRequest.requestHeaders.push(header); //Spécification de l'entête
navigateToURL(jpgURLRequest,"_blank"); //Envoi jpgURLRequest.method = URLRequestMethod.POST; //Méthode d'envoi POST/GET jpgURLRequest.data = jpgStream; //Spécification des données //Bouton de sauvegarde function onClick(e:MouseEvent):void {
createJPG(monClip, 90, "maCarte"); //Création d'un JPG avec 'monClip', appelé 'maCarte'
}btn_save.addEventListener(MouseEvent.CLICK, onClick); |
<?php if(isset($GLOBALS["HTTP_RAW_POST_DATA"])) {
//Récupération des données
}$img = $GLOBALS["HTTP_RAW_POST_DATA"]; //Ouverture de la fenêtre d'enregistrement header('Content-Type: image/jpeg'); header("Content-Disposition: attachment; filename=".$_GET['name']); echo $img; else {
echo 'An error occured.';
}?> |