Gem可将图像裁剪为多种尺寸的轨道

时间:2011-10-28 12:16:06

标签: ruby-on-rails ruby rubygems ruby-on-rails-3.1

当用户更新图像时,我想将其裁剪为不同尺寸以适应应用程序中的不同规格,例如更大尺寸的图像用于配置文件页面,更小的图像用于评论等。是否有任何宝石可用于此轨道?

3 个答案:

答案 0 :(得分:3)

我建议您使用Paperclip gem。有了它,您可以为图像定义多种尺寸。您需要安装ImageMagick才能工作。你的ruby模型会有这样的一行:

has_attached_file :image, :styles => { :small => "150x150>", :medium => "400x400#", :large => "640x640" }

默认行为是调整到最小尺寸并保持纵横比。您可以使用一些选项来更改此内容:

  1. 尾随#,缩略图将被集中裁剪,确保所需的尺寸。
  2. 尾随>,缩略图只有在当前较大的请求尺寸时才会被修改。
  3. 在您的代码中,您可以在视图中使用image_tag @model.image.url(:small)请求图片。

    如果你想了解更多信息,Ryan bates对此有一个很好的railscast。 Paperclip在GitHub上也有广泛的维基。

答案 1 :(得分:1)

尝试使用paperclip gemcarrierwave来处理附加

您还可以查看ImageMagick,RMagick或ImageScience项目

答案 2 :(得分:0)

我所知道的最轻量级的图像处理库/ gem是Devil。 ImageMagick / Cairo可能很难安装。我从来没有遇到过DeviL的任何问题。欢呼声。