gpt4 book ai didi

ruby-on-rails-3 - Carrierwave/Minimagick - 裁剪总是不准确,除非 'y' 参数为 0

转载 作者:行者123 更新时间:2023-12-04 07:15:04 24 4
gpt4 key购买 nike

已实现裁剪功能,如 Railscasts episode 182 (revised) 中所示,我似乎无法准确地进行裁剪工作。裁剪的内容始终是裁剪中所选区域的前 20%。除非“y”参数为 0,即裁剪区域触及图像顶部时。然后裁剪工作正常。

我的实现与截屏视频中显示的相同,只是我从 Controller 调用 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!

avatar_uploader中的crop方法也是这样实现的:

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。

最佳答案

我遇到了类似的问题,我发现在 manipulate 中调整图像大小!调用而不是使用“resize_to_limit”载波辅助方法为我解决了这个问题。

    def crop
if model.crop_x.present?
manipulate! do |img|
x = model.crop_x
y = model.crop_y
w = model.crop_w
h = model.crop_h
img.resize "500x500"
img.crop "#{w}x#{h}+#{x}+#{y}"
img
end
end
end

我也强烈推荐阅读 this answer有关此代码中实际发生的事情的更多详细信息。

关于ruby-on-rails-3 - Carrierwave/Minimagick - 裁剪总是不准确,除非 'y' 参数为 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17761143/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com