aqui esta la parte del codigo as3 que realiza el draw de la imagen (nada arroja errores).
Código ActionScript :
formato_cb.addItem({label:"Jpeg" , data:"JPEG"}); formato_cb.addItem({label:"Png" , data:"PNG"}); function crearIMG(e):void { capturarIMG(exp_img, 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; } // enviamos los datos navigateToURL(phpCreator, "_self"); }
y este es el contenido del archivo .php
Código PHP :
<?php if ($_POST['tipo'] == 'PNG'){ header('Content-Type: image/png'); }else{ header('Content-Type: image/jpeg'); } header("Content-Disposition: attachment; filename=".$_POST['nombreArchivo']); echo base64_decode($_POST["image"]); ?>
muchisimas gracias!