2011-03-08 63 views
1

在导轨中,回形针具有图像大小的固定(基于模型)定义。在导轨中上传图像的动态图像大小3

has_attached_file :data, 
:styles => { :large => "800x600>", :icon => "50x50#" }, 
:path => ":rails_root/public/images/files/:id/:style/:basename.:extension", 
:url => "/images/files/:id/:style/:basename.:extension", 
:convert_options => { :all => "-colorspace RGB" }, 
:whiny_thumbnails => true 

但本例将图像尺寸设置为2种固定尺寸(大图标)。这对大多数问题都很好,但如果您想显示不同尺寸的上传图片,例如640x480 ...

有没有办法让图像在飞行中缩放 - 在rails3中???在飞行中可能会杀了你的服务器

回答

1

你可以看看像Dragonfly这样的东西来处理你的图像,而不是回形针。它将大小放在视图中而不是模型上,并利用一些缓存机制来提高性能。

+0

,看起来真的很好 - 我已经阅读文档到目前为止,我会尝试这个。你说“有点像...” - 你知道更多这种类型吗?让视图定义的图像大小是我喜欢使用它的方式,并且缓存机制是很自然的... – marco 2011-03-09 07:36:42

+0

还有一些其他的做类似的,但蜻蜓看起来最健壮。这里是我发现它的使用原始博客文章,还提到了一些其他人:http://blog.new-bamboo.co.uk/2010/1/2/dragonfly – 2011-03-09 14:04:43

0

级图像)

如果你只是想显示的画面,也许你可以使用宽度和/或HTML图像标记的高度属性?

+0

它提供了整个数据并在浏览器中缩放图像,这不是快速或小带宽访问者的解决方案 - 这是不可接受的... – marco 2011-03-08 11:09:39

+0

然后再看看重新处理!方法在回形针,你可以调用它的个别对象,现在你需要弄清楚如何动态添加新样式;) – 2011-03-08 11:24:04

+0

这就是为什么我写这个问题的原因 - 我没有找到一个动态添加新样式的动作 - 我似乎是不可能的... – marco 2011-03-08 11:59:34