【发布时间】:2011-10-28 12:16:05
【问题描述】:
当用户更新图像时,我想将其裁剪为不同的尺寸以适应应用程序中的不同规格,例如个人资料页面的较大尺寸图像,cmets 的较小图像等。是否有任何可用的宝石导轨?
【问题讨论】:
标签: ruby-on-rails ruby rubygems ruby-on-rails-3.1
当用户更新图像时,我想将其裁剪为不同的尺寸以适应应用程序中的不同规格,例如个人资料页面的较大尺寸图像,cmets 的较小图像等。是否有任何可用的宝石导轨?
【问题讨论】:
标签: ruby-on-rails ruby rubygems ruby-on-rails-3.1
我建议您为此使用Paperclip gem。有了它,您可以为图像定义多种尺寸。您确实需要安装 ImageMagick 才能正常工作。你的 ruby 模型会有这样的一行:
has_attached_file :image, :styles => { :small => "150x150>", :medium => "400x400#", :large => "640x640" }
默认行为是调整到最小尺寸并保持纵横比。你可以使用一些选项来改变它:
在您的代码中,您可以在视图中使用image_tag @model.image.url(:small) 请求图像。
如果您想了解更多信息,Ryan bates 对此有很好的railscast。 Paperclip 在 GitHub 上也有一个广泛的 wiki。
【讨论】:
尝试使用paperclip gem 或carrierwave 处理附件
您还可以查看 ImageMagick、RMagick 或 ImageScience 项目
【讨论】:
我所知道的最轻量级的图像处理库/gem 是Devil。 ImageMagick/Cairo 可能很难安装。我从来没有遇到过 DeviL 的任何问题。干杯。
【讨论】: