Ver Mensaje Individual
  #1 (permalink)  
Antiguo 10/12/2011, 11:48
arieljbon
 
Fecha de Ingreso: enero-2009
Mensajes: 159
Antigüedad: 15 años, 10 meses
Puntos: 2
Pregunta Imprimir en as3

Hola gente...necesito ayuda...tengo que imprimir un mc, el tema es el siguiente...tengo unos campo de texto y una imagen, al rellenar los campos de texto se van viendo en la imagen, una personalizacion de la imagen cuando termino tengo 2 opciones bajar esa imagen ya diseñada y la otra manda a imprimir el resultado fina, ahora bien el paso 1 lo hice bajar la imagen terminada se que en el tutorial que lo saque dice que hace una captiura del mc terminado osea una Captura de pantalla, todo bien eso, me gustaria que pase lo mismo pero en lugar de bajarala me lo imprima tambien ...dejo el codigo de guardar imagen....que funciona con un archivo PHP...
Código ActionScript:
Ver original
  1. guardar_mc.buttonMode = true ;
  2.  
  3. input_txt.addEventListener(Event.CHANGE, updateTexto);
  4.  
  5. mensaje_txt.addEventListener(Event.CHANGE, updateTexto);
  6.  
  7. lugar_txt.addEventListener(Event.CHANGE, updateTexto);
  8. fecha_txt.addEventListener(Event.CHANGE, updateTexto);
  9. anfitrion_txt.addEventListener(Event.CHANGE, updateTexto);
  10. // fuente
  11. tipo_cb.addEventListener(Event.CHANGE, updateTexto);
  12. // cuerpo
  13. size_cb.addEventListener(Event.CHANGE, updateTexto);
  14. // botón guardar
  15. guardar_mc.addEventListener(MouseEvent.CLICK, crearIMG);
  16. // --------------------------------------------------------------
  17.  
  18. // --------------------------------------------------------------
  19. function cambiarColor(fotograma:uint){
  20.     shirt_mc.gotoAndStop(fotograma);
  21. }
  22. function cambiarColorTexto(col:Number){
  23.     textFormat1.color=col;
  24.     texto_txt.setTextFormat(textFormat1);
  25.     texto1_txt.setTextFormat(textFormat1);
  26.     texto2_txt.setTextFormat(textFormat1);
  27.     texto3_txt.setTextFormat(textFormat1);
  28.     texto4_txt.setTextFormat(textFormat1);
  29. }
  30. function updateTexto(e){
  31.     textFormat1.font="Abel";
  32.     textFormat1.size="18";
  33.     texto_txt.text=input_txt.text;
  34.     texto_txt.setTextFormat(textFormat1);
  35.     texto1_txt.text=mensaje_txt.text;
  36.     texto1_txt.setTextFormat(textFormat1);
  37.     texto2_txt.text=lugar_txt.text;
  38.     texto2_txt.setTextFormat(textFormat1);
  39.     texto3_txt.text=fecha_txt.text;
  40.     texto3_txt.setTextFormat(textFormat1);
  41.     texto4_txt.text=anfitrion_txt.text;
  42.     texto4_txt.setTextFormat(textFormat1);
  43. }
  44. // botón guardar
  45. guardar_mc.addEventListener(MouseEvent.CLICK, crearIMG);
  46. // --------------------------------------------------------------
  47.  
  48. // --------------------------------------------------------------
  49.  
  50. function crearIMG(e):void {
  51.     capturarIMG(shirt_mc, formato_cb.selectedItem.data);
  52. }
  53. function capturarIMG(target:DisplayObject, tipo:String):void {
  54.     img_count++;
  55.     // dirección de la url PHP
  56.     var phpCreator:URLRequest = new URLRequest("crearIMG.php");
  57.     phpCreator.method = URLRequestMethod.POST;
  58.     // objeto que contendrá los datos a enviar
  59.     var datosPOST:URLVariables = new URLVariables();
  60.     // rutinas para capturar el área deseada, en nuestro caso el clip shirt_mc
  61.     var relative:DisplayObject = target.parent;
  62.     var rect:Rectangle =target.getBounds(relative);
  63.     // borde en píxeles que se añade alrededor de la imagen
  64.     var bordeImagen:uint=1;
  65.     var bitmapData:BitmapData = new BitmapData(rect.width + bordeImagen * 2, rect.height + bordeImagen * 2);
  66.     // capturamos la imagen
  67.     bitmapData.draw(relative, new Matrix(1, 0, 0, 1, -rect.x + bordeImagen, -rect.y + bordeImagen));
  68.     var byteArray:ByteArray;
  69.     switch (tipo)  {
  70.       case "JPEG":
  71.       // en el caso jpeg hay que instanciar un objeto pasando
  72.       // la calidad JPEG antes de invocar el método
  73.           datosPOST.nombreArchivo="imagen"+img_count+".jpg";
  74.           var jpgEncoder:JPGEncoder = new JPGEncoder(100);
  75.           byteArray = jpgEncoder.encode(bitmapData);
  76.           break;
  77.       case "PNG":
  78.           default:
  79.           datosPOST.nombreArchivo="imagen"+img_count+".png";
  80.           byteArray = PNGEncoder.encode(bitmapData);
  81.           break;
  82.    }
  83.    // codicamos en Base64
  84.     var byteArrayAsString:String = Base64.encodeByteArray(byteArray);
  85.     // rellenamos el objeto contenedor con los datos a enviar
  86.     datosPOST.image = byteArrayAsString;
  87.     datosPOST.tipo=tipo;
  88.     phpCreator.data = datosPOST;
  89.     // enviamos los datos
  90.     navigateToURL(phpCreator, "_self");
  91. }

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"]);
?>