在实现了Railscasts 第 182 集(修订版)中所示的裁剪功能后,我似乎无法准确地进行裁剪工作。裁剪的始终是裁剪中所选区域的前 20%。除了 'y' 参数为 0 时,即裁剪区域接触图像顶部时。然后裁剪工作正常。
我的实现与截屏视频中显示的相同,只是我crop_avatar
从控制器调用方法,如下所示:
@profile.crop_x = params[:profile][:crop_x]
@profile.crop_y = params[:profile][:crop_y]
@profile.crop_h = params[:profile][:crop_y]
@profile.crop_w = params[:profile][:crop_w]
@profile.crop_avatar
@profile.save!
中的crop
方法avatar_uploader
也是这样实现的:
def crop
if model.crop_x.present?
resize_to_limit(500, 500)
manipulate! do |img|
x = model.crop_x
y = model.crop_y
w = model.crop_w
h = model.crop_h
img.crop "#{w}x#{h}+#{x}+#{y}"
img
end
end
end
我正在使用 Rails 3.2.1、Carrierwave 0.7.1、JCrop 0.9.12。