Código ActionScript:
Ver original
guardar_mc.buttonMode = true ; input_txt.addEventListener(Event.CHANGE, updateTexto); mensaje_txt.addEventListener(Event.CHANGE, updateTexto); lugar_txt.addEventListener(Event.CHANGE, updateTexto); fecha_txt.addEventListener(Event.CHANGE, updateTexto); anfitrion_txt.addEventListener(Event.CHANGE, updateTexto); // fuente tipo_cb.addEventListener(Event.CHANGE, updateTexto); // cuerpo size_cb.addEventListener(Event.CHANGE, updateTexto); // botón guardar guardar_mc.addEventListener(MouseEvent.CLICK, crearIMG); // -------------------------------------------------------------- // -------------------------------------------------------------- function cambiarColor(fotograma:uint){ shirt_mc.gotoAndStop(fotograma); } function cambiarColorTexto(col:Number){ textFormat1.color=col; texto_txt.setTextFormat(textFormat1); texto1_txt.setTextFormat(textFormat1); texto2_txt.setTextFormat(textFormat1); texto3_txt.setTextFormat(textFormat1); texto4_txt.setTextFormat(textFormat1); } function updateTexto(e){ textFormat1.font="Abel"; textFormat1.size="18"; texto_txt.text=input_txt.text; texto_txt.setTextFormat(textFormat1); texto1_txt.text=mensaje_txt.text; texto1_txt.setTextFormat(textFormat1); texto2_txt.text=lugar_txt.text; texto2_txt.setTextFormat(textFormat1); texto3_txt.text=fecha_txt.text; texto3_txt.setTextFormat(textFormat1); texto4_txt.text=anfitrion_txt.text; texto4_txt.setTextFormat(textFormat1); } // botón guardar guardar_mc.addEventListener(MouseEvent.CLICK, crearIMG); // -------------------------------------------------------------- // -------------------------------------------------------------- function crearIMG(e):void { capturarIMG(shirt_mc, formato_cb.selectedItem.data); } function capturarIMG(target:DisplayObject, tipo:String):void { img_count++; // dirección de la url PHP var phpCreator:URLRequest = new URLRequest("crearIMG.php"); phpCreator.method = URLRequestMethod.POST; // objeto que contendrá los datos a enviar var datosPOST:URLVariables = new URLVariables(); // rutinas para capturar el área deseada, en nuestro caso el clip shirt_mc var relative:DisplayObject = target.parent; var rect:Rectangle =target.getBounds(relative); // borde en píxeles que se añade alrededor de la imagen var bordeImagen:uint=1; var bitmapData:BitmapData = new BitmapData(rect.width + bordeImagen * 2, rect.height + bordeImagen * 2); // capturamos la imagen bitmapData.draw(relative, new Matrix(1, 0, 0, 1, -rect.x + bordeImagen, -rect.y + bordeImagen)); var byteArray:ByteArray; switch (tipo) { case "JPEG": // en el caso jpeg hay que instanciar un objeto pasando // la calidad JPEG antes de invocar el método datosPOST.nombreArchivo="imagen"+img_count+".jpg"; var jpgEncoder:JPGEncoder = new JPGEncoder(100); byteArray = jpgEncoder.encode(bitmapData); break; case "PNG": default: datosPOST.nombreArchivo="imagen"+img_count+".png"; byteArray = PNGEncoder.encode(bitmapData); break; } // codicamos en Base64 var byteArrayAsString:String = Base64.encodeByteArray(byteArray); // rellenamos el objeto contenedor con los datos a enviar datosPOST.image = byteArrayAsString; datosPOST.tipo=tipo; phpCreator.data = datosPOST; // enviamos los datos navigateToURL(phpCreator, "_self"); }
El del PHP es:
Código PHP:
<?php
if ($_POST['tipo'] == 'PNG'){
header('Content-Type: image/png');
}else{
header('Content-Type: image/jpeg');
}
mensiona dos formato JPG o PNG es que tengo esa dos opciones para que el usuario pueda elegir al bajarla en JPG o PNG...
Gracias espero que me ayuden,....
header("Content-Disposition: attachment; filename=".$_POST['nombreArchivo']);
echo base64_decode($_POST["image"]);
?>