Recortar imagen (Crop image)

Hola. Lamentablemente no escribo en ingles, así que debo hacerlo en Español.

Estoy creando una aplicación donde al hacer clic en un botón hacemos una fotografía que realiza un remplazo de imagen. He logrado hacerlo pero el problema es que la fotografía se carga rectangular  y yo quiero que la fotografía  sea redonda como la imagen a la que remplaza. Si alguien pudriera ayudarme gracias!!

Este es el código :

local onComplete = function(event)

    – Create local variable named photo

    local photo = event.target

    – Place photo over the body

    photo.x = 745;

    photo.y = 380;

    – Scale down the photo to match the body scale

    – Note that 0.07 scale is ideal for iPad 3rd Generation camera

    – Other cameras may need different scaling

    photo.xScale = 1;

    photo.yScale = 1;

    – Remove the head image placeholder from the group named “guy”

    guy:remove(head);

    – Insert the newly taken picture in place of the head

    guy:insert(photo);

end

– If a camera exists on the device, start camera function

if media.hasSource( media.Camera ) then

    media.show( media.Camera, onComplete )

else

    – If camera doens’t exist, show alert popup

    native.showAlert( “Corona”, “This device does not have a camera.”, { “OK” } )

end

Hello. Unfortunately I do not write in English, This is Google translation 

I am creating an application where clicking on a button to do a picture takes a replacement image. I’ve managed to do it but the problem is that the picture is rectangular load and I want the photo to be round like the image that replaces. If someone help me thanks rot! 

Here’s the code:

Hello,

If you can translate this to Spanish (or a Spanish-speaking developer can do so), the solution is to use either:

  1. image mask

  2. “Image Fill” on a circle

Here are two guides:

  1. http://docs.coronalabs.com/guide/media/imageMask/index.html

2) http://coronalabs.com/blog/2013/10/24/tutorial-fills-and-strokes-in-graphics-2-0/

Sincerely,

Brent Sorrentino

Por defecto la foto se carga rectangular entonces tienes que aplicarle un “mask” a la foto pero es muy facil.

Crea un imagen totalamente n€gro y luego dibuja un circulo blanco. Asi el parte blanco será visible y el negro no.

Luego aplicale el mask asi:

local mask = graphics.newMask("mask.png") -- Crear el mask photo:setMask(mask) -- Aplica el mask

Tambien hay unas reglas para crear un mask:

El mask debe tener unas dimensiones de anchura y altura que son divisibles por 4. 

El mask debe ser rodeada por al menos 3 pixels de espacio en negro en los cuatro lados.

Aqui es un ejemplo que creé que puedes bajar con la foto y el mask incluidos:

http://s000.tinyupload.com/?file_id=32679461866830549621

Ojala que este te ayudara.

Saludos,

Tomas

Muchisimas gracias!!!

Ha funcionado!!!

Hello,

If you can translate this to Spanish (or a Spanish-speaking developer can do so), the solution is to use either:

  1. image mask

  2. “Image Fill” on a circle

Here are two guides:

  1. http://docs.coronalabs.com/guide/media/imageMask/index.html

2) http://coronalabs.com/blog/2013/10/24/tutorial-fills-and-strokes-in-graphics-2-0/

Sincerely,

Brent Sorrentino

Por defecto la foto se carga rectangular entonces tienes que aplicarle un “mask” a la foto pero es muy facil.

Crea un imagen totalamente n€gro y luego dibuja un circulo blanco. Asi el parte blanco será visible y el negro no.

Luego aplicale el mask asi:

local mask = graphics.newMask("mask.png") -- Crear el mask photo:setMask(mask) -- Aplica el mask

Tambien hay unas reglas para crear un mask:

El mask debe tener unas dimensiones de anchura y altura que son divisibles por 4. 

El mask debe ser rodeada por al menos 3 pixels de espacio en negro en los cuatro lados.

Aqui es un ejemplo que creé que puedes bajar con la foto y el mask incluidos:

http://s000.tinyupload.com/?file_id=32679461866830549621

Ojala que este te ayudara.

Saludos,

Tomas

Muchisimas gracias!!!

Ha funcionado!!!