Comunidad de diseño web y desarrollo en internet online

Recorte y Redimensionado de fotos en flash

Citar            
MensajeEscrito el 01 Nov 2010 01:04 pm
Hola buenos dias gente, estoy en un proyecto y me ha surgido una duda, he estado buceando por todo el foro y no encontre la solucion.
En mi proyecto, necesito subir una foto al flash desde el ordenador del usuario ( Conseguido)
una vez subida y en pantalla la rediminsiono a mi mc (conseguido)
una vez que tengo la imagen que el usuario ha subido y redimensionada, el usario tiene que recortar un trozo de la imagen para luego ser usada. lo hice que con una mascara y funciona (conseguido)
Ahora viene el problema, las fotos que suben los usuarios ( son muy variadas) y la zona a recortar es siempre la misma, por lo que necesitaria de alguna forma que el usuario, pudiese redimensionar la foto libremente para poder adecuarlo a la mascara realizada para la seleccion de la foto.

No se si me explique muy bien, pero os pongo un ejemplo, el usario sube una foto que esta con toda la familia, y solo quiere coger su cara, pero es demasiado grande y no coge en la mascara, pues que puediese reducir la foto para que entrase correctamente dentro de la mascara y seleccionar solo su cara.

Espero que me entendais, y podais ayudarme.. muchas gracias.

Estoy usando flash cs5 y as2

Por crivi01

18 de clabLevel



 

firefox
Citar            
MensajeEscrito el 01 Nov 2010 01:48 pm
Si estás haciendo algún tipo de "ponle tu cara al muñeco" vas bien, tienes que guardar la transformación que le hayas hecho a la foto, (escalado y posicionamiento) dentro de las corrdenadas del MC que tiene la máscara, luego cuando lo reproduces le aplicas la misma transformación a la foto. Un poco mas complejo es efectivamente recortar fotos muy grandes, en ese caso deberías pasarle toda la transformación a un lenguaje de back-end que efectivamente recorte el archivo original

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 01 Nov 2010 02:29 pm
pero la idea no es que el flash haga el escalado, sino que el usuario reduzca la foto a su eleccion para encajarlo en la mascara, a eso me refiero si es posible hacerlo en flas, lo que quiero que haga es como una transformacon libre con la foto.

Por crivi01

18 de clabLevel



 

firefox
Citar            
MensajeEscrito el 01 Nov 2010 02:40 pm
Por supuesto, pones botoncitos y vas modificando el _xscale y el _yscale de la foto que está detrás de la máscara, afectas lo que se ve, el archivo permanece como el original, de allí mi respuesta anterior

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 01 Nov 2010 02:56 pm
uff jorge hay me he perdido .. podrias poneme algo del codigo, para poder meterle mano, y gracias por anticipado por las respuestas.

Por crivi01

18 de clabLevel



 

firefox
Citar            
MensajeEscrito el 01 Nov 2010 02:57 pm
No logro situar cual es la dificultad ... ¿no sabes escalar una foto?

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 19 Nov 2010 04:41 pm
jorge ya lo tengo casi todo conseguido, solo me falta salvar la imagen que hay detras de la mascara.

es decir en mi proyecto, cargo una imagen, el usuario la redimensiona y la mueve por detras de una mascara, de forma que puede ver como quedaria ( digamos que es para que seleccione la parte de la foto que quiere guardar.

El tema es que todo lo anterior esta conseguido, pero no se como hacer para que la imagen que se ve detras de la mascara se guarde. pero solo ese trozo no la foto entera.

Un saludo y gracias por anticipado.

Por crivi01

18 de clabLevel



 

firefox
Citar            
MensajeEscrito el 19 Nov 2010 05:39 pm
En realidad Flash no puede cortar la foto. Tienes dos opciones>

- Guardar la posición y el escalado de la foto con respecto a la máscara, rearmarlo cuando lo muestres
- Usar un lenguaje de back-end para cortar la foto, por ejemplo usando la librería GD de PHP, Flash le pasa los datos del punto anterior y el scrript corta y guarda (en realidad debes hacer una copia de la porción, previo escalado si se necesita)

Yo lo hice de la primera forma, aunque en ese caso tienes que poner límite de tamaño a la hora del upload

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 20 Nov 2010 11:54 am
jorge mis conocimientos no llegan a lo que me comentas, me podrias mandar algo de codigo para saber mas o menos por donde seguir, te lo agradecera.
un saludo y gracias.

Por crivi01

18 de clabLevel



 

firefox
Citar            
MensajeEscrito el 20 Nov 2010 01:01 pm
Pues tendrás que incrementar tus conocimientos para estar a la altura de la tarea, de eso se trata.
Primera opción: Máscara y contenedor son el mismo, tanto cuando el usuario sube la foto como cuando luego reproduces lo que ha hecho. Cuando va moviendo la foto, guardas posición _x e _y con respecto al MC donde lo has cargado (el punto de anclaje es el ángulo superior izquierdo), si has puesto botones de reescalado, guardas el _xscale e _yscale
Todo esto lo tienes que guardar en un medio externo, usualmente base de datos junto a los dados del usuario y de su reproducción, luego recuperas todos los datos y los reaplicas.
Tip: si es mucho, parte en pequeñas tareas, la primera es usar contenedor con máscara y capturar los datos cuando el usuario modifica la foto

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 20 Nov 2010 01:25 pm
he estado investigando lo que me cuentas. me he reledio esto http://es.php.net/manual/es/function.imagecopy.php
pero eso corta una imagen rectangular, no circular, como yo quiero.

nada estoy mas perdido que un pavo en un garaje... jajajaja no se por donde seguir.

Por crivi01

18 de clabLevel



 

firefox
Citar            
MensajeEscrito el 20 Nov 2010 01:52 pm
Por eso te estoy comentando de la primera opción, no de la segunda

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 21 Nov 2010 07:39 pm
jorge, sigo releyendo por san google, y no veo forma de hacerlo, consultare a la luz, mi maestro yoda, a ver si el sabe por donde tirar,

Una cosilla, con el metodo que tu dices, solo se guarda el trozo de foto que esta dentro de la mascara=? o la posicion y escalado de toda la foto?
muchas gracias. compañero, y sigo insistiendo, si me puedieras poner algo de codigo para ver por donde tirar, te lo agredeceria, ya o tengo todo, solo me falta capturar la imagen de detras de la mascara.

Por crivi01

18 de clabLevel



 

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.