ruby on rails - Carrierwave and Jcrop not cropping with Minimagick -
i'm following ryan bates tutorial on how crop images carrierwave , jcrop.
but, images not being cropped. x,y,w,h values being passed in parameters, no cropping taking place. im using minimagick. appreciate someone.
i've followed similar issues in stackoverflow none give solution. thank you
photo_uploader
process :resize_to_fit => [800,800] version :big process :resize_to_limit => [800,600] process :convert => 'jpg' end version :thumb, :from_version => :big process :crop resize_to_fill(100,100) end def crop if model.crop_x.present? resize_to_limit(600, 600) manipulate! |img| x = model.crop_x.to_i y = model.crop_y.to_i w = model.crop_w.to_i h = model.crop_h.to_i img.crop "#{model.crop_x}x#{model.crop_y}+#{model.crop_w}+#{model.crop_h}" img end end end
view
<%= image_tag @photo.photo_url(:big), id: "cropbox" %>
model
mount_uploader :photo, photouploader attr_accessor :crop_x, :crop_y, :crop_w, :crop_h before_create :crop_spot after_update :crop_spot
update
#cropping spots def crop_spot photo.recreate_versions! if crop_x.present? end
the img.crop
method not change image, returns new one. either use img.crop!
, edits image in place, or remove last img
, edited image retured.
the crop
method becomes
def crop if model.crop_x.present? resize_to_limit(600, 600) manipulate! |img| x = model.crop_x.to_i y = model.crop_y.to_i w = model.crop_w.to_i h = model.crop_h.to_i img.crop "#{model.crop_x}x#{model.crop_y}+#{model.crop_w}+#{model.crop_h}" end end end
Comments
Post a Comment