我有一个CarrierWave ImageUploader,它创建了一个需要根据我的模型(crop_x,crop_y,crop_w和crop_h)中的值裁剪的原始图像的几个版本。Carrierwave裁剪
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文件中,或者在创建拇指之前发生的一些回调中。
看看这个http://stackoverflow.com/questions/5985079/carrierwave-crop-specific-version – makaroni4
检查这个最新的RailsCast:http://railscasts.com/episodes/182-cropping-images-revised – Tilo