Ruby on rails Rails-如何动态生成缩略图

Ruby on rails Rails-如何动态生成缩略图,ruby-on-rails,paperclip,rmagick,Ruby On Rails,Paperclip,Rmagick,我正在寻找一种方法来生成我上传的动态图像缩略图。我有一个类似这样的产品模型: class Product include Mongoid::Document include Mongoid::Paperclip has_mongoid_attached_file :picture end 我基本上只想上传一张高分辨率的图片,然后我就可以用它来制作缩略图、主图像,还有花式盒子的高分辨率图片等等 有没有一种简单的方法可以做到这一点?您可以为回形

我正在寻找一种方法来生成我上传的动态图像缩略图。我有一个类似这样的产品模型:

    class Product
      include Mongoid::Document
      include Mongoid::Paperclip

      has_mongoid_attached_file :picture
    end
我基本上只想上传一张高分辨率的图片,然后我就可以用它来制作缩略图、主图像,还有花式盒子的高分辨率图片等等


有没有一种简单的方法可以做到这一点?

您可以为回形针附加的文件设置许多属性

e、 g

您可以使用所需的大小和格式为多个版本的图像设置:styles属性


查看更多详细信息。您确实需要像RMagick/Imagemagick这样的图像处理器。

您可以为附带的回形针文件设置许多属性

e、 g

您可以使用所需的大小和格式为多个版本的图像设置:styles属性


查看更多详细信息。你确实需要像RMagick/Imagemagick这样的图像处理器。

不确定Imagemagick是否有宝石,但那(或类似的东西)是最好的选择。据我所知,dragonfly在这方面做得很好,dragonfly不支持MongoId,是吗?只要它符合activemodel,你就不确定Imagemagick是否有宝石,但这(或类似的事情)将是一条出路。我发现蜻蜓在这方面做得很好据我所知,蜻蜓不与MongoId合作,是吗?只要它符合activemodel,你就应该很好谢谢,但这个解决方案的问题是,法师是在上传时生成的。当图像尺寸在显影过程中发生变化时,或者如果另一个视图添加了不同的尺寸等,这种情况很糟糕。在显影过程中缩略图尺寸的变化没有问题。您始终可以使用“rake-paperclip:refresh:thumbnails CLASS=”重新生成所有缩略图。谢谢,但此解决方案的问题是,法师是在上传时生成的。当图像尺寸在显影过程中发生变化时,或者如果另一个视图添加了不同的尺寸等,这种情况很糟糕。在显影过程中缩略图尺寸的变化没有问题。您始终可以使用“rake-paperclip:refresh:thumbnails CLASS=”重新生成所有缩略图。
has_mongoid_attached_file :picture,
    :styles => {
      :original => ['1920x1680>', :jpg],
      :small    => ['100x100#',   :jpg],
      :medium   => ['250x250',    :jpg],
      :large    => ['500x500>',   :jpg]
    }