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?