ruby-on-rails - 在回形针和 RMagick 中将现有图像调整为新样式

标签 ruby-on-rails ruby imagemagick paperclip rmagick

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

最佳答案

您需要 Paperclip::Attachment 的 reprocess! 方法。参见 the docs .

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

# Console...
>> User.find_each { |u| u.avatar.reprocess! }

此外,根据 reprocess! 方法之前的评论,有一个 paperclip:refresh Rake 任务,这可能更容易。

关于ruby-on-rails - 在回形针和 RMagick 中将现有图像调整为新样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2977234/

相关文章:

ruby-on-rails - 清理 Controller 以加速应用程序

ruby - 如何为 Chef 处理程序安装依赖项?

ruby - 如何合并 Heroku 上具有相同架构的两个数据库?

ruby-on-rails - 检查字段的值是否在 before_update 过滤器中更改

c++ - 在 Windows : Cannot open include file: 'Magick++.h' : No such file or directory 中编译 ZBar 示例时出错

ruby-on-rails - ruby on Rails 限制用户只能访问特定数据

ruby-on-rails - 为什么 Rails 试图预编译 .css 文件

ruby-on-rails - Searchkick 多模型搜索相关性问题

c++ - 使用 imagemagick 剪切 jpg 文件

ImageMagick:如何将一个 gif 的每帧延迟应用于另一 gif?