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!
