【发布时间】:2011-07-20 05:24:50
【问题描述】:
我有一个 CarrierWave ImageUploader,它创建了几个版本的原始图像,需要根据我的模型中的值(crop_x、crop_y、crop_w 和crop_h)进行裁剪。
class ImageUploader < CarrierWave::Uploader::Base
include CarrierWave::MiniMagick
...
version :t do
process :cropper
process :resize_to_fill => [75, 75]
end
...
def cropper
manipulate! do |img|
img = img.crop "#{model.crop_x}x#{model.crop_y}+#{model.crop_w}+#{model.crop_h}"
img
end
end
end
我遇到的问题是,如果我们没有任何设置但我不知道将这个逻辑放在哪里,我需要计算一些默认裁剪值。我尝试将它放在我的照片模型(上传器安装到)中的 before_validation 中,但这似乎是在执行裁剪函数后调用的。我在想它要么需要在 ImageUploader 文件中,要么在创建拇指之前发生的一些回调中。
【问题讨论】:
-
查看最新的 RailsCast:railscasts.com/episodes/182-cropping-images-revised
标签: ruby-on-rails ruby ruby-on-rails-3 carrierwave