红色 - 回形针 - 如何设置附件的最小宽度

时间:2010-04-17 02:09:44

标签: ruby-on-rails width paperclip dimensions

我的布局要求是将所有缩略图保持在80px高度,而不是更高,而不是更小。在我的模型中,我将样式设置为:thumb=> "500x80>",因此基本上几乎每张不太宽的图片都能获得80px高度的完美缩小。然而,有时候,我的照片很窄而且很高,因此拇指可能具有像5x80这样的不可点击的尺寸。所以我不想裁剪图片,只要缩略图不会变得疯狂狭窄,但我认为如果拇指的宽度小于25px,我可以做出一点牺牲并裁剪它们。

所以我的问题是 - 在回形针中是否可以设置样式的最小比例,样式将"500x80>"以及它将变为...... "25x80#"

2 个答案:

答案 0 :(得分:1)

几周前,我在互联网上找到了一个很好的解决方案。我忘记了,抱歉。但它看起来像这样:

has_attached_file :img, :styles => {:thumb => [Proc.new { |instance| instance.resize }, :jpg]}


def resize     
@geo_original = Paperclip::Geometry.from_file(img.to_file(:original))

ratio = @geo_original.width/@geo_original.height  

if ratio < 0.4 or ratio > 1.375
    # Image very high or very wide
    "110x80#"   
else
    # Average dimensions
    "110x80>"
end
end

答案 1 :(得分:-1)

我不确定如何使用回形针完成此操作 - 感觉应该有一些事情要做它不是吗?

Paperclip只是在后台使用imagemagick(http://www.imagemagick.org/Usage/resize/#shrink)你可以在夜间使用图像魔法来制作那些讨厌的窄图像。

这是一个黑客,但我能提供最好的主意。

祝你好运。