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

Como Generar Jpg. Desde Flash ? O Parecido

Estas en el tema de Como Generar Jpg. Desde Flash ? O Parecido en el foro de Flash y Actionscript en Foros del Web. La cuestion es la siguiente, es la tercera vez que posteo esta pregunta y nadie me la ha podido responder. Tengo un simple juego en ...
  #1 (permalink)  
Antiguo 24/06/2008, 16:33
 
Fecha de Ingreso: mayo-2008
Mensajes: 39
Antigüedad: 15 años, 11 meses
Puntos: 0
Como Generar Jpg. Desde Flash ? O Parecido

La cuestion es la siguiente, es la tercera vez que posteo esta pregunta y nadie me la ha podido responder.
Tengo un simple juego en flash que consiste en crear un personaje con diversas caracteriscas (ojos, bocas, orejas, cabello, etc), mediante un simple drag, la cuestion es que una vez que le usuario termine su personaje lo pueda salvar de alguna formar qeu pueda ser almacenado en una base de dato, para un posterior concurso, donde se eliga el mejor personaje.
Entonces la pregunta es como hago para salvar el archivo que el usuario creo, mediante un jpg, o algun formato compatible.
Como alguna funcio que tome fotos a la pantalla o algo por el estilo.

Agradezco cualquier ayuda

Pura Vibra !!!1
  #2 (permalink)  
Antiguo 25/06/2008, 01:12
Avatar de sirguy  
Fecha de Ingreso: septiembre-2006
Ubicación: Mallorca
Mensajes: 959
Antigüedad: 17 años, 6 meses
Puntos: 12
Respuesta: Como Generar Jpg. Desde Flash ? O Parecido

Pues yo ya he dado tres veces la misma respuesta, ahí va otra:

http://www.sephiroth.it/tutorials/fl...en/page002.php

Aquí te servirá el segundo ejemplo.

En el actionscript del fla debes quitar esta línea:

video_mc.pause() // first pause the playing video

Ya que si no no exportará. A la vez tienes que crear un par de campos de introducción de texto para que el usuario de sus datos. Estos datos los envías como loadVars, para eso debes ir al .as que te viene y fíjate en las líneas:

record = new LoadVars();
record.width = w
record.height = h
record.cols = 0
record.rows = 0

Pues aquí añades las nuevas:

record.nombre=_root.nombre.text;
record.correo=_root.correo.text;

Eso si quieres nombre y email, los he llamado así por poner algo, puedes enviar tantos campos como quieras. Ahora vamos al php, mira la línea:

$h = (int)$_POST['height'];

Es aquí donde recoges las nuevas variables:

$nombre=$_POST['nombre'];

A partir de aquí ya cambia el tema ya es que debes subir los datos a un sql (lo que yo usé), lo primero es subir los datos del usuario:

mysql_query("insert into tutabla (nombre,correo) values ('$nombre','$correo')",$link);

Esta tabla tiene un id autoincrementable, si tienes dudas sobre esto en foros de bd e incluso php te ayudarán.

Una vez subido esto seguimos con el php, recuerda que hemos recibido las variable y las hemos subido por lo que no hemos llegado al php que crea la imagen ya que antes sacamos el id para nombrar las fotos:

$result=mysql_query("SELECT id FROM ".$idioma." ORDER BY Id DESC LIMIT 1");
$row = mysql_fetch_row($result);
$nfoto="$row[0]";

$nfoto es el número de id.


Sigue els php hasta esta línea:

imagesetpixel($img, $cols, $rows, $test);
}
}
}

Aquí es donde el php te muestra la foto en pantalla y yá está:

// print out the correct header to the browser
header("Content-type:image/jpeg");
// display the image
imagejpeg($img, "", 90);


Pues fuera esta líneas y ponemos esto:


$target_path = "";
$target_path = $target_path . basename( $_FILES[$img]['name']);
$nombrefoto="imagenes/dibujo_".$foto.".jpg";
if(move_uploaded_file($_FILES[$img]['tmp_name'], $nombrefoto)) {
echo "FOTO SUBIDA"
}
else{
echo "error"
}

Lo que hago es dar un nombre de archivo con ruta en el que cada vez que se suba una imagen pondrá el nombre de dibujo_id.jpg, las líneas de target_path no tengo claro si valían para algo

A ojo está bien, puede haber fallos pero bastante sencillos de resolver (supongo).
__________________
Chanante!
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 21:56.