Foros del Web » Creando para Internet » Flash y Actionscript »

Problema enviar imagen con AS3

Estas en el tema de Problema enviar imagen con AS3 en el foro de Flash y Actionscript en Foros del Web. Buenas gente, les explico mi problema. Estoy usando unas clases para que me hagan un print de pantalla de un swf, me funciona de 10 ...
  #1 (permalink)  
Antiguo 02/06/2010, 09:51
 
Fecha de Ingreso: junio-2010
Mensajes: 2
Antigüedad: 13 años, 11 meses
Puntos: 0
Problema enviar imagen con AS3

Buenas gente, les explico mi problema.

Estoy usando unas clases para que me hagan un print de pantalla de un swf, me funciona de 10 y me da la opcion para guardarla a la pc. El tema es que necesito enviarla por mail y no se como.

Alguna sugerencia?.

Les dejo el código que estoy usando. Gracias de antemano!

Cita:
// importamos clases necesarias
import com.adobe.images.*;
import com.dynamicflash.util.Base64;
import fl.data.DataProvider;

// contador incremental para el nombre de archivo
var img_count:uint=0;

// rellenamos los datos de los desplegables --------------
var allFonts:Array = Font.enumerateFonts(true);
allFonts.sortOn("fontName", Array.CASEINSENSITIVE);
var dp:DataProvider = new DataProvider();
var dp2:DataProvider = new DataProvider();
for(var k:uint=0;k<allFonts.length;k++){
dp.addItem({label:allFonts[k].fontName, data:{tipo:allFonts[k].fontType, estilo:allFonts[k].fontStyle}});
}
for(var j:uint=10;j<=24;j++){
dp2.addItem({label:j});
}
formato_cb.addItem({label:"Jpeg" , data:"JPEG"});
formato_cb.addItem({label:"Png" , data:"PNG"});

// asignamos comportamientos a: botón guardar
guardar_mc.addEventListener(MouseEvent.CLICK, crearIMG);


function crearIMG(e):void {
capturarIMG(cuerpo_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();
trace (datosPOST);
// 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;
}

// codificamos 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");
//---------------------------------Capturo parte de la la ruta de la imagen
var url = datosPOST;
}
  #2 (permalink)  
Antiguo 02/06/2010, 20:38
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 14 años, 8 meses
Puntos: 214
Respuesta: Problema enviar imagen con AS3

Hola
Bueno, se me ocurre que puedes hacer, una vez capturada
se guarde en un directorio (cosa que tal vez ya tienes)
Y luego php se encargaría de enviar el mail con la imagen
(si quieres en html con etiqueta img para que vean el mail
con dicha imagen en el contenido, o si lo quieres como
archivo adjunto pues le indicas a php en la función mail
o si usas phpmailer por ej la ruta y el nombre del archivo

yo he hecho las 2 cosas por aparte, pero no lo he realizado
en unión, pero imagino que debe funcionar

prueba y comentas
saludos
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com

Etiquetas: enviar
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:33.