Carrierwave Zuschneiden
Ich habe eine CarrierWave ImageUploader, schafft ein paar Versionen von einem original Bild, die müssen zugeschnitten werden, basierend auf Werten, die in meinem Modell (crop_x, crop_y, crop_w, und 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
Das problem, dass ich habe ist, dass ich brauche, um zu berechnen, einige Standard-cropping-Werte, wenn wir nicht jeden Satz, aber ich weiß nicht, wohin diese Logik. Ich habe versucht, dies in meinem Foto-Modell (das der uploader montiert ist) in einer before_validation aber dies scheint aufgerufen werden, nachdem die cropper-Funktion ausgeführt wurde. Ich denke, dass Es entweder braucht, um sein in der ImageUploader-Datei, oder in einigen Rückruf, der Auftritt, bevor die thumbs erstellt werden.
- Werfen Sie einen Blick auf dieses stackoverflow.com/questions/5985079/...
- überprüfen Sie diese neueste RailsCast: railscasts.com/episodes/182-cropping-images-revised
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie etwas wie das hier tun:
Ich bin mit code entspricht, der in einer meiner apps.
ArgumentError (wrong number of arguments (1 for 3, 4, or 5))
. Ich denke, dass Ihrimg.crop
ist nicht das gleiche wie mir...crop
ausMiniMagick
verwenden Sie möglicherweiseRMagick
oder etwas anderescrop!(x, y, w, h)