Railsの5、ペーパークリップ5更新する代わりに、今のライブラリを追加することの
、あなただけのgrayscale optionを使用するようにシステム上のImageMagick's convert commandを呼び出すことができます。ぼかしやその他のImageMagickオプションでも同じことをすることができますが、これをグレースケールに変換する必要がありました。お使いのモデル(ロゴを持つクライアント)で
:
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
それからちょうど(Paperclips github docsごとに)このようなビューに使用します。あなたのビューで
:
<%= image_tag(client.logo.url(:grayscale), class: 'thumbnail', alt: client.name, title: client.name) %>
またはリンクをご希望の場合:遅延の
<%= link_to(image_tag(client.logo.url(:grayscale), class: 'thumbnail', alt: client.name, title: client.name), client.url) %>
申し訳ありませんが、偉大な答えてくれてありがとう! – jyoseph
変換オプション ':styles => {:gray =>" 450x250 "}にconvert_options => {:gray =>" -blur 0x8 "}'を追加すると、 – Ben