2012-02-14 17 views
5

estoy usando el ejemplo this para recortar una imagen que se seleccionó de la galería pero el problema es que solo muestra los cuadrados de recorte. ¿Sería posible recortar rectángulos en lugar de solo cuadrados? En ese ejemplo, si muevo un lado, el lado adyacente se mueve, manteniéndolo en una selección cuadrada.Cómo recortar un rectángulo de una imagen en android

Gracias.

Respuesta

12

encontré que es posible recortar rectángulos utilizando el controlador de recorte incorporado de Android. (Com.android.camera.action.CROP). Para rectángulos de cultivos es necesario eliminar los siguientes parámetros del ejemplo que pasé antes:

intent.putExtra("outputX", 200); //Set this to define the max size of the output bitmap 
intent.putExtra("outputY", 200); //Set this to define the max size of the output bitmap 
intent.putExtra("aspectX", 1); //Set this to define the X aspect ratio of the shape 
intent.putExtra("aspectY", 1); //Set this to define the Y aspect ratio of the shape 

Ajuste del ASPectX y aspectY obligará al androide para mover ambos lados de la forma cuando se mueve uno de ellos. Comenta esas líneas y podrás mover la forma libremente.

+0

Esto ayudó un montón, ¡gracias! +1 – Jimmy

+1

Estoy usando lo mismo. Pero aún así, el área de cultivo se muestra en forma cuadrada. – lintu

3

No es posible recortar en una forma que no sea cuadrada con el uso del recorte de Android incorporado manejo (com.android.camera.action.CROP).

Tendría que crear su propia actividad de cultivo desde cero. Es posible que desee basar su propia implementación en el implementation from the SDK (requiere GIT).

Discutir esa tarea compleja en detalle está fuera del alcance de una respuesta simple en un Q & Un sitio como Stack Overflow. Si tiene preguntas en particular, no dude en publicar otra pregunta.

+0

Ok, gracias por la ayuda. Echaré un vistazo a esa implementación. – PauloBueno

+0

si establece el aspectX y el aspectY en cero, en realidad puede recortar en diferentes formas. – holandaGo

Cuestiones relacionadas