0

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

所以我的问题是 - 是否有可能在回形针中设置图片的最小比例,该风格将"500x80>"变成什么样的风格"25x80#"

4

2 回答 2

2

几周前,我在互联网的某个地方找到了一个不错的解决方案。我忘了在哪里,对不起。但它看起来像这样:

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
于 2010-08-28T15:50:32.937 回答
-1

我不确定您如何仅使用回形针来完成此操作-感觉应该有某种方法可以做到,不是吗?

Paperclip 只是在后台使用 imagemagick ( http://www.imagemagick.org/Usage/resize/#shrink ),您可以 cron 一项使用图像魔法在夜间增长那些讨厌的窄图像的工作。

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

祝你好运。

于 2010-05-07T14:50:04.037 回答