Comunidad de diseño web y desarrollo en internet online

como cropear una imagen subida por el usuario?

Citar            
MensajeEscrito el 22 Jun 2011 06:13 pm
hola a todos, muy buenas tardes...

quisiera saber si alguien pudiera guiarme con esta situacion:
es una pequeña aplicacion en flash (AS2) donde el usuario sube una imagen (utilice fileReference), la redimensiona, la cropea segun una mascara que genere en el escenario, y luego a ese crop a partir de la imagen subida, tengo que mostrarlo en otro movieclip;
en realidad es el famoso "juego" de ponerle la cabeza al muñeco o algo asi...

el upload de la imagen funciona bien... tengo un contenedor (llamado contenedor), donde, dentro de un movieclip dinamico, llamado fotoSubida, cargo la imagen;
una vez que esta subida, logro acceder a ella, pudiendo redimensionarla y draguearla segun mi parecer...

pero hasta ahi llegue... y lo que necesito es, una vez que se logra la posicion y tamaño deseados, poder cropear la zona que quedaria dentro de una mascara o area de cropeo, para poder colocar esa porcion de imagen dentro de otro movieclip.

desde ya agradezco cualquier dato o ayuda para poder continuar con el proyecto.
saludos,
sebas.

Por flashodelico

80 de clabLevel



 

firefox
Citar            
MensajeEscrito el 22 Jun 2011 07:06 pm
Tienes que usar BitmapData.draw para copiar el Rectangle generado en otro BitmapData, mira la ayuda para BitmapData.draw

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 22 Jun 2011 07:29 pm
muchas gracias, jorge!
estoy justamente con eso en este momento...
leyendo informacion, encontre un tuto sobre BitMapData que me esta aclarando las cosas;
viendo este ejemplo

source es el mc donde esta mi imagen, y dest2 el mc donde cargo el nuevo bitmap;

bmap = new flash.display.BitmapData(100,100, true, 0);
bmap.draw(source);

dest2.attachBitmap(bmap, 1);

modificando los parametros de ancho y alto, pude ver como toma una porcion mas chica o mas grande de la imagen fuente;
ahora, estoy intentando que redibuje solo el area que yo quiero, para poder lograr que solo genere un nuevo objeto a partir de las coordenadas de la mascara que tengo en el escenario;

es decir, tengo una imagen de 100x100px, anclada en el punto 0 de "x" e "y", y una mascara de 50x50px, anclada sobre la imagen, en los puntos 20 de "x" e "y", y solo quiero que "redibuje" el area de la imagen que esta por debajo de la mascara
podrias guiarme hacia que lado debo continuar, por favor?
saludos!

Por flashodelico

80 de clabLevel



 

firefox
Citar            
MensajeEscrito el 22 Jun 2011 07:46 pm
puede ser que con getBounds() logre limitar el area de la imagen a duplicar?

Por flashodelico

80 de clabLevel



 

firefox
Citar            
MensajeEscrito el 22 Jun 2011 08:08 pm
El método draw recibe como parámetro un Rectangle que indica que parte cropear, ese Rectangle debe tomar la posición y tama;o de la máscara con respecto a la foto que enmascara.

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 23 Jun 2011 12:38 am
bien, jorge... he logrado hacer el redibujo del movieclip a partir de una mascara cuadrada;
el problema que tengo ahora es que el mc contenedor que quiero redibujar, tiene la funcion de poder ser redimensionado por el usuario, para ubicar mejor el rostro de la persona, pero cuando hago la captura del movieclip, siempre obtengo la misma porcion de imagen (a partir de sus ejes x e y = 0)
hasta ahora no he logrado buenos resultados con esto ultimo;
te puedo pedir alguna sugerencia para poder obtener el resultado que necesito?
muchas gracias!
saludos

Por flashodelico

80 de clabLevel



 

firefox
Citar            
MensajeEscrito el 23 Jun 2011 12:50 am
me olvide de comentar:
con respecto al Rectangle, modifique los parametros de la linea

Código ActionScript :

bmap = new flash.display.BitmapData(200,70, true, 0);

logrando mostrar diferentes areas de la imagen pero siempre con la mascara anclada arriba y a la izquierda;
pense en hacer algo asi:

Código ActionScript :

bmap = new flash.display.BitmapData(200,70, posXmascara, posYmascara, true, 0);

de manera de marcarle la posicion de cropeo, pero sin resultado.

pido por favor, alguna sugerencia;
muchas gracias
saludos

Por flashodelico

80 de clabLevel



 

firefox
Citar            
MensajeEscrito el 04 Jul 2011 05:07 pm
me olvide de comentar, pero ya lo solucione...
en breve subo la solucion

muchas gracias

Por flashodelico

80 de clabLevel



 

firefox

 

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