J'ai un CarrierWave ImageUploader qui crée deux versions d'une image originale qui doivent être recadrées en fonction des valeurs de mon modèle (crop_x, crop_y, crop_w et crop_h).Carrierwave Cropping
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
Le problème que je vais avoir est que je dois calculer des valeurs de culture par défaut si nous n'avons pas ensemble, mais je ne sais pas où mettre cette logique. J'ai essayé de mettre ceci dans mon modèle Photo (sur lequel le téléchargeur est monté) dans une before_validation mais cela semble être appelé après l'exécution de la fonction cropper. Je pense que soit il doit être dans le fichier ImageUploader, ou dans un rappel qui se produit avant que les pouces soient créés.
Jetez un coup d'oeil à ce http://stackoverflow.com/questions/5985079/carrierwave-crop-specific-version – makaroni4
consultez cette dernière RailsCast: http://railscasts.com/episodes/182-cropping-images-revised – Tilo