使用回形针和RMagick将现有图像调整为新样式

tyb*_*103 61 ruby ruby-on-rails rmagick imagemagick paperclip

我一直在使用paperclip上传和自动调整我的Rails应用程序中的照片,我喜欢它.唯一的问题是每隔一个月,我疯狂的经理决定他想要一个新的尺寸来显示照片.所以我在我的照片模型中添加了一个新的风格,所有都适合新照片,但现有的照片现在是一个问题.现在我开始有多张照片要处理,我需要一种编程方式来调整现有照片的大小.对于这样的事情,也许有一些回形针技巧?如果我不需要,我真的不必弄清楚RMagick并自己写一个脚本.

Rob*_*her 84

你想要reprocess!Paperclip :: Attachment 的方法.查看文档.

class User < ActiveRecord::Base
  has_attached_file :avatar, :styles => { :medium => "300x300>", :thumb => "100x100>" }
end

# Console...
>> User.find_each { |u| u.avatar.reprocess! }
Run Code Online (Sandbox Code Playgroud)

另外,根据reprocess!方法之前的评论,还有一个回形针:刷新Rake任务,这可能更容易.

  • 谢谢!回形针:刷新耙工作得很好 (7认同)
  • 这是重新生成回形针样式的文档.https://github.com/thoughtbot/paperclip/wiki/Thumbnail-Generation命令应该是`rake paperclip:refresh:YOUR_STYLE_HERE CLASS = User` (5认同)

Nav*_*eed 29

尝试回形针提供的这个rake任务

rake paperclip:refresh:missing_styles
Run Code Online (Sandbox Code Playgroud)

参考:https: //github.com/thoughtbot/paperclip#post-processing

  • ...或仅为一个模型做:`rake paperclip:refresh:missing_styles CLASS = YourModelName` (5认同)