Attachment_Fu缩略图宽度

时间:2009-07-01 01:38:19

标签: ruby-on-rails ruby thumbnails attachment-fu

有关如何获取缩略图图像的宽度和高度的任何想法? photo.width返回原始照片的宽度。我将缩略图的宽度存储在数据库中,我只是不确定如何访问该对象。

不起作用:

<%= image_tag photo.authenticated_s3_url(:medium),
              :width => photo.width,
              :height => photo.height %>

这两个都没有:

<%= image_tag photo.authenticated_s3_url(:medium),
              :width => photo.authenticated_s3_url(:medium).width,
              :height => photo.authenticated_s3_url(:medium).height %>

2 个答案:

答案 0 :(得分:1)

默认情况下,attachment_fu仅从表中加载父照片以获取类似网址的信息。当您传递缩略图选项时,它只会在扩展名之前将适当的大小附加到文件名的末尾。

如果你想获得这个大小,你需要在表格中查找一下像Photo.find_by_parent_id(photo.id,:conditions =&gt; ['thumbnail =?','thumbnail_class_name “])。宽度

你最好事先知道照片的宽度,至少如果你打算将它用于经常运行的任何东西。

答案 1 :(得分:0)

 :thumbnails => { :crop_200x200 => 'c200x200',
              :default_200x200 => '200x200',
              :ex_200x200 => '200x200!',
              :gt_200x200 => '200x200>',
              :lt_200x200 => '200x200<'}

要获得高度和宽度,这就是我要做的事情

tname = 'crop_200x200'
height= @picture.thumbnails.select{ |r| r.thumbnail ==  tname }.first.height 
width= @picture.thumbnails.select{ |r| r.thumbnail == tname }.first.width