2011-11-21 9 views
11

Tengo una aplicación Rails 3 con Paperclip para recortar imágenes.¿Cómo obtengo la región superior de una imagen al recortar con Rails y Paperclip?

tengo este código en mi modelo para Photo:

has_attached_file :thumbnail, PAPERCLIP_OPTIONS.merge(
    :styles => {:cropped => '300x250#'}) 

La imagen resultante que se genera crea una imagen de 300x250, sin embargo el cultivo parece empezar siempre una buena 50px o menos por debajo de la parte superior de la imagen (no es bueno para las redes sociales cuando corta la parte superior de las cabezas de los pueblos).

hice algunas investigaciones y estoy pensando que necesito para suministrar un: convert_options clave que coincide con el: recortada estilo. Sin embargo, no sé exactamente qué opciones para configurar (-La gravedad, -región, etc.)

Alguien tiene alguna idea. Sé que hay profesionales de Imagemagick; No soy uno, jaja.

Gracias!

Actualización: He encontrado este enlace .. http://forrst.com/posts/Customized_Cropping_with_Paperclip-7g6

¿Sigue siendo válida o ¿Alguien tiene una mejor manera más fácil?

Respuesta

23

Aquí es mi forma favorita de hacerlo:

:styles => { :large => "", :medium => "", :thumb => ""}, 
    :convert_options => { 
     :large => "-gravity north -thumbnail 300x300^ -extent 300x300" , 
     :medium => "-gravity north -thumbnail 200x200^ -extent 200x200", 
     :thumb => "-gravity north -thumbnail 100x100^ -extent 100x100" 
    } 

Tenga en cuenta que en lugar de # utiliza^+ medida.

parámetros de gravedad son como en un mapa: norte, noreste, este ...

+2

que son increíbles! Estaba buscando esto para siempre. En el reprocesamiento a todos mis imágenes de producción :( –

+0

funciona muy bien! Gracias por las instrucciones detalladas. –

+1

Gracias por publicar cómo hacer esto en vez de dejar un comentario mordaz acerca de cómo esto se documenta en la documentación de ImageMagick. – Yavin4

Cuestiones relacionadas