carriles 5, 5 Paperclip actualización
En lugar de tener que añadir una biblioteca ahora, sólo puede llamar a ImageMagick's convert command en el sistema para utilizar su grayscale option. Puede hacer lo mismo para desenfoque o cualquiera de las otras opciones de ImageMagick, pero necesitaba hacer esto para la conversión a escala de grises.
En su modelo (cliente que tiene un logotipo):
class Client < ApplicationRecord
has_attached_file :logo,
styles: { thumb: "243x243#", grayscale: "243x243#" }
# ensure it's an image
validates_attachment_content_type :logo, content_type: /\Aimage\/.*\z/
# optional, just for name and url to be required
validates :name, presence: true
validates :url, presence: true
after_save :convert_grayscale
def convert_grayscale
system "convert #{self.logo.path(:thumb)} -grayscale Rec709Luminance #{self.logo.path(:grayscale)}"
end
def logo_attached?
self.logo.file?
end
end
Entonces sólo tiene que utilizar en la vista como esta (por Paperclips github docs).
En su opinión:
<%= image_tag(client.logo.url(:grayscale), class: 'thumbnail', alt: client.name, title: client.name) %>
o con un enlace, si lo prefiere:
<%= link_to(image_tag(client.logo.url(:grayscale), class: 'thumbnail', alt: client.name, title: client.name), client.url) %>
Siento el retraso, gracias por la gran respuesta! – jyoseph
Parece que es mucho más fácil agregar en las opciones de conversión ': styles => {: gray =>" 450x250 "},: convert_options => {: gray =>" -blur 0x8 "}' – Ben