如何在不剪切顶部或底部回形针的情况下完美保存和显示图像

时间:2012-05-24 06:37:32

标签: ruby-on-rails paperclip crop

您好我正在使用回形针保存图像,我的模型位于

之下
   class Image < ActiveRecord::Base
 has_attached_file :snap, :styles => {:banner => "950x505", :large => "1200x1200", :medium => "363x569"}
     belongs_to :product
   end

如果我上传200x200的图像并使用大尺寸的图像标签显示图像,那么图像很奇怪并且伸展出来。

如果我遵循这个模型代码

     class Image < ActiveRecord::Base
 has_attached_file :snap, :styles => {:banner => "950x505#", :large => "1200x1200#", :medium => "363x569#"}
     belongs_to :product
   end

意味着使用带有图像大小的“#”符号并显示大图像。然后图像没有伸出,但有些部分从上部或下部切出。

我如何上传完美贴合的图像,而不会延伸或切割出来?

3 个答案:

答案 0 :(得分:2)

答案 1 :(得分:0)

如果您上传低分辨率图像并尝试放大图像,则很明显图像会扭曲或像素化。更好的选择是上传最高分辨率的图片(在您的情况下可能是1280像素,然后应用您已有的样式。

答案 2 :(得分:0)

好吧,如果你尝试怎么办?

class Image < ActiveRecord::Base
  has_attached_file :snap, :styles => {:banner => "950x505>", :large => "1200x1200>", :medium => "363x569>"}
  belongs_to :product
end
IIRC,它将按比例缩小任何图像以适应指定的范围,而不进行裁剪,并留下较小的图像,因为它们已经适合指定的范围。

我用:

class Image < GenericModel
  has_attached_file :asset, :styles => {:fit => "800x600>", :thumb => "100x100>"}
  blah blah blah
end

指定“适合”和“拇指”版本。

如果上传的图像是纵向400乘300,则“拇指”将为100高和75宽以保持比例。如果图像是300乘400,则“拇指”是75乘100。

“适合”也不会拉伸较小的图像,图像保持在400乘300(反之亦然)。