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

Generador de avatares en flash, es posible?

Estas en el tema de Generador de avatares en flash, es posible? en el foro de Flash y Actionscript en Foros del Web. Hola a todos, pues me he topado con la idea de querer hacer un generador de imagenes, avatares, postales con flash. En realidad lo que ...
  #1 (permalink)  
Antiguo 24/06/2009, 11:07
Avatar de Larc  
Fecha de Ingreso: octubre-2003
Ubicación: Mexico
Mensajes: 259
Antigüedad: 21 años
Puntos: 0
Generador de avatares en flash, es posible?

Hola a todos, pues me he topado con la idea de querer hacer un generador de imagenes, avatares, postales con flash.

En realidad lo que mas me llama la atencion es el generar los avatares, usando plantillas png como marcos y una imagen que puedan subir para el fondo.

algo como lo hace este pagina: http://www.loonapix.com/es/framer, pero hecho en flash.

Sera posible?, conocen algun ejempo?
__________________
Quien parte de las sombras y se levanta como un muerto brillando como una estrella sobre èl (towlen), entre la oscuridad congelante y la luz.
LÄRÇ :serio:

Última edición por Larc; 01/07/2009 a las 10:27 Razón: Solucion a la cuestion.
  #2 (permalink)  
Antiguo 01/07/2009, 10:32
Avatar de Larc  
Fecha de Ingreso: octubre-2003
Ubicación: Mexico
Mensajes: 259
Antigüedad: 21 años
Puntos: 0
Respuesta: Generador de avatares en flash, es posible?

He leido mucho sobre el tema y he encontrado una solucion y he aprendido poco a poco como hacerlo...

Este es el resultado :

www.leonardosco.com/avatares

Veran que casi todo funciona y digo casi porque no funciona al 100%.

Sube la imagen
Redimenziona la imagen
Eligen el marco
Genera la imagen (pero sin marco)
Descarga la imagen.

El problema del casi es que no encontrado la manera de como genera la imagen con el marco.

tengo un fotograma que se llama "insfoto" es donde se carga la foto, en una capa arriba tengo otro fotograma que se llama "marco", pero como debo definir en mi codigo que me guarde la imagen con el marco?...

Este es mi codigo:

Código:
stop();
insbtguardar._visible=0;
import flash.net.FileReference;
var fileRef:FileReference = new FileReference();
nombrearchivo="laimagen.jpg"
aleatorioarchivo=null
function subir_archivos(){
	aleatorioarchivo=new Date()
	aleatorioarchivo=aleatorioarchivo.toString()
	if(idusuario!=0){
		var allTypes:Array = new Array();
		var imageTypes:Object = new Object();
		imageTypes.description = "Archivos de imagen (*.jpg)";
		imageTypes.extension = "*.jpg";
		allTypes.push(imageTypes);
		var listener:Object = new Object();
		listener.onSelect = function(file:FileReference):Void {
			if(Math.ceil(file.size/1024)>2000){
				_root.alertar("El archivo no puede exceder los 2MB")
			}else{
				_parent.inscargando.gotoAndStop(2)
				if(!file.upload("subir_imagen.php?destino="+nombrearchivo)) {
					_root.alertar("Error al enviar archivo")
					_parent.inscargando.gotoAndStop(1)
				}
			}
		}
		listener.onComplete = function(file:FileReference):Void {
			delete listener
			insfoto._x=insmascara._x
			insfoto._y=insmascara._y
			insfoto._xscale=100
			insfoto._yscale=100
			insfoto.loadMovie("imagenes/"+nombrearchivo+"?fecha="+aleatorioarchivo)
			_parent.inscargando.gotoAndStop(1)
		}
		listener.onHTTPError = function(file:FileReference):Void {
			_root.alertar("Error al enviar archivo - HTTPError")
			_parent.inscargando.gotoAndStop(1)
		}
		listener.onIOError = function(file:FileReference):Void {
			_root.alertar("Error al enviar archivo - IOError")
			_parent.inscargando.gotoAndStop(1)
		}
		listener.onSecurityError = function(file:FileReference, errorString:String):Void {
			_root.alertar("Error al enviar archivo - SecurityError")
			_parent.inscargando.gotoAndStop(1)
		}
		fileRef.addListener(listener);
		fileRef.browse(allTypes);
	}else{
		insfoto._x=insmascara._x
		insfoto._y=insmascara._y
		insfoto._xscale=100
		insfoto._yscale=100
		insfoto.loadMovie(nombrearchivo+"?fecha="+aleatorioarchivo)
	}
}

ancho_foto_inicio=null
alto_foto_inicio=null
function situa_flechas(){
	flechaupiz._x=insfoto._x
	flechaupiz._y=insfoto._y
	flechaupder._x=insfoto._x+(insfoto._width)
	flechaupder._y=insfoto._y
	flechadwiz._x=insfoto._x
	flechadwiz._y=insfoto._y+insfoto._height
	flechadwder._x=insfoto._x+(insfoto._width)
	flechadwder._y=insfoto._y+insfoto._height
}

flechamovida=null
x_inicio_up_iz=null
y_inicio_up_iz=null
x_inicio_up_der=null
y_inicio_up_der=null
x_inicio_dw_iz=null
y_inicio_dw_iz=null
x_inicio_dw_der=null
y_inicio_dw_der=null

function inicia_dibujo(recibo){
	flechamovida=recibo
	x_inicio_up_iz=flechaupiz._x
	y_inicio_up_iz=flechaupiz._y
	x_inicio_up_der=flechaupder._x
	y_inicio_up_der=flechaupder._y
	x_inicio_dw_iz=flechadwiz._x
	y_inicio_dw_iz=flechadwiz._y
	x_inicio_dw_der=flechadwder._x
	y_inicio_dw_der=flechadwder._y
	startDrag(flechamovida);
	flechamovida.onMouseMove=dibuja_cuadro;
}
function dibuja_cuadro(){
	objetodibujar=this._parent
	esquinas_mascara=objetodibujar.insmascara.getBounds(objetodibujar)
	
	if(flechamovida==flechaupiz){
		x_movidos=x_inicio_up_iz-flechamovida._x
		y_movidos=y_inicio_up_iz-flechamovida._y
		
		objetodibujar.flechaupder._x=x_inicio_up_der+x_movidos
		objetodibujar.flechaupder._y =flechamovida._y
		objetodibujar.flechadwiz._x=flechamovida._x
		objetodibujar.flechadwiz._y=y_inicio_dw_iz+y_movidos
		objetodibujar.flechadwder._x=x_inicio_dw_der+x_movidos
		objetodibujar.flechadwder._y =y_inicio_dw_der+y_movidos
	}
	
	if(flechamovida==flechaupder){
		x_movidos=x_inicio_up_der-flechamovida._x
		y_movidos=y_inicio_up_der-flechamovida._y

		objetodibujar.flechaupiz._x=x_inicio_up_iz+x_movidos
		objetodibujar.flechaupiz._y=flechamovida._y
		objetodibujar.flechadwiz._x=x_inicio_dw_iz+x_movidos
		objetodibujar.flechadwiz._y=y_inicio_dw_iz+y_movidos
		objetodibujar.flechadwder._x=flechamovida._x
		objetodibujar.flechadwder._y =y_inicio_dw_der+y_movidos
	}
	
	if(flechamovida==flechadwiz){
		x_movidos=x_inicio_dw_iz-flechamovida._x
		y_movidos=y_inicio_dw_iz-flechamovida._y
		
		objetodibujar.flechaupiz._x=flechamovida._x
		objetodibujar.flechaupiz._y=y_inicio_up_iz+y_movidos
		objetodibujar.flechaupder._x=x_inicio_up_der+x_movidos
		objetodibujar.flechaupder._y =y_inicio_up_der+y_movidos
		objetodibujar.flechadwder._x=x_inicio_dw_der+x_movidos
		objetodibujar.flechadwder._y =flechamovida._y
	}
	if(flechamovida==flechadwder){
		x_movidos=x_inicio_dw_der-flechamovida._x
		y_movidos=y_inicio_dw_der-flechamovida._y

		objetodibujar.flechaupder._x=flechamovida._x
		objetodibujar.flechaupder._y =y_inicio_up_der+y_movidos
		objetodibujar.flechadwiz._x=x_inicio_dw_iz+x_movidos
		objetodibujar.flechadwiz._y=flechamovida._y
		objetodibujar.flechaupiz._x=x_inicio_up_iz+x_movidos
		objetodibujar.flechaupiz._y=y_inicio_up_iz+y_movidos
	}
	
	ajusta_flechas(0)
	
	objetodibujar.recuadro.removeMovieClip()
	objetodibujar.createEmptyMovieClip("recuadro", objetodibujar.getNextHighestDepth());
	objetodibujar.recuadro.lineStyle(1, 0x999999, 100);
	objetodibujar.recuadro.moveTo(objetodibujar.flechaupiz._x, objetodibujar.flechaupiz._y);
	objetodibujar.recuadro.lineTo(objetodibujar.flechaupder._x, objetodibujar.flechaupder._y);
	objetodibujar.recuadro.lineTo(objetodibujar.flechadwder._x, objetodibujar.flechadwder._y);
	objetodibujar.recuadro.lineTo(objetodibujar.flechadwiz._x, objetodibujar.flechadwiz._y);
	objetodibujar.recuadro.lineTo(objetodibujar.flechaupiz._x, objetodibujar.flechaupiz._y);
}

function ajusta_flechas(recibo){
	esquinas=flechaupiz.getBounds(this)
	if(esquinas.xMin>esquinas_mascara.xMin) {
		dif=esquinas.xMin-esquinas_mascara.xMin
		flechaupiz._x -=dif+1
	}
	if(esquinas.yMin>esquinas_mascara.yMin) {
		dif=esquinas.yMin-esquinas_mascara.yMin
		flechaupiz._y -=dif+1
	}
	esquinas=flechaupder.getBounds(this)
	if(esquinas.xMax<esquinas_mascara.xMax) {
		dif=esquinas_mascara.xMax-esquinas.xMax
		flechaupder._x +=dif+1
	}
	if(esquinas.yMin>esquinas_mascara.yMin) {
		dif=esquinas.yMin-esquinas_mascara.yMin
		flechaupder._y -=dif+1
	}
	
	esquinas=flechadwiz.getBounds(this)
	if(esquinas.xMin>esquinas_mascara.xMin) {
		dif=esquinas.xMin-esquinas_mascara.xMin
		flechadwiz._x -=dif+1
	}
	if(esquinas.yMax<esquinas_mascara.yMax) {
		dif=esquinas_mascara.yMax-esquinas.yMax
		flechadwiz._y +=dif+1
	}
	
	esquinas=flechadwder.getBounds(this)
	if(esquinas.xMax<esquinas_mascara.xMax) {
		dif=esquinas_mascara.xMax-esquinas.xMax
		flechadwder._x +=dif+1
	}
	if(esquinas.yMax<esquinas_mascara.yMax) {
		dif=esquinas_mascara.yMax-esquinas.yMax
		flechadwder._y +=dif+1
	}
	if(recibo==1)redimensiona_imagen()
}

function redimensiona_imagen(){
	altofoto=insfoto._width
	anchofoto=insfoto._height
	esquinas=flechaupiz.getBounds(this)
	arriba_iz=esquinas.xMin
	esquinas=flechaupder.getBounds(this)
	arriba_der=esquinas.xMax
	ancho_flechas=arriba_der-arriba_iz
	
	esquinas=flechaupiz.getBounds(this)
	arriba_iz=esquinas.yMin
	esquinas=flechadwiz.getBounds(this)
	abajo_der=esquinas.yMax
	alto_flechas=abajo_der-arriba_iz

	if(ancho_flechas>=ancho_foto_inicio || alto_flechas>=alto_foto_inicio){
		situa_flechas()
	}else{
		if(anchofoto>=altofoto)	porcentaje=(ancho_flechas*100)/ancho_foto_inicio
		if(anchofoto<altofoto)	porcentaje=(alto_flechas*100)/alto_foto_inicio
		insfoto._xscale=porcentaje
		insfoto._yscale=porcentaje
		insfoto._x=flechaupiz._x
		insfoto._y=flechaupiz._y
		situa_flechas()
	}
}

function guardar(){
	_parent.inscargando.gotoAndStop(2)
	misdatos = new LoadVars();
	misdatos.onLoad = finalizar_guardar;
	misdatos.origen="imagenes/"+nombrearchivo
	misdatos.destino="imagenes/laimagen_redimensionada.jpg"
	misdatos.porcentaje=insfoto._xscale
	misdatos.izquierda=Math.abs(insfoto._x-354.7)
	misdatos.arriba=Math.abs(insfoto._y-281.7)
	misdatos.sendAndLoad("redimensionar_imagen.php", misdatos, "post");
	//misdatos.send("lee_area_redimensionar_imagen.php", "_blank", "post");
}

function finalizar_guardar(){
	_root.inscargando.gotoAndStop(1)
	gotoAndPlay("avanzar")
}
alguna ayudita?
__________________
Quien parte de las sombras y se levanta como un muerto brillando como una estrella sobre èl (towlen), entre la oscuridad congelante y la luz.
LÄRÇ :serio:
  #3 (permalink)  
Antiguo 07/07/2009, 14:03
Avatar de Larc  
Fecha de Ingreso: octubre-2003
Ubicación: Mexico
Mensajes: 259
Antigüedad: 21 años
Puntos: 0
Respuesta: Generador de avatares en flash, es posible?

Nadie que me pueda ayudar?
__________________
Quien parte de las sombras y se levanta como un muerto brillando como una estrella sobre èl (towlen), entre la oscuridad congelante y la luz.
LÄRÇ :serio:
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 23:36.