gpt4 book ai didi

ruby-on-rails - 在 Carrierwave 中重新处理不同版本的图像

转载 作者:行者123 更新时间:2023-12-03 13:39:31 24 4
gpt4 key购买 nike

使用 Carrierwave,我使用以下几行创建了 3 个版本的头像 - 一个原始版本、一个 small_thumb 和一个 large_thumb:

process :resize_to_limit => [400, 400]  

version :big_thumb do
process :resize_to_limit => [80, 80]
end

version :small_thumb do
process :resize_to_limit => [50, 50]
end

我在 AvatarUploader 类中添加了一个附加方法:
def reprocess(x,y,w,h)
manipulate! do |img|
img.crop(x.to_i, y.to_i, w.to_i, h.to_i, true)

end
resize_to_limit(180,180)
end

执行更新后在我的模型中调用:
attr_accessor :crop_x, :crop_y, :crop_w, :crop_h
after_update :reprocess_image, :if => :cropping?

def cropping?
!crop_x.blank? && !crop_y.blank? && !crop_w.blank? && !crop_h.blank?
end

private

def reprocess_image
image.reprocess(crop_x,crop_y,crop_w,crop_h)

end

我已经设法裁剪和调整原始版本的大小,但我似乎无法同时更新 2 个缩略图。我尝试了几种不同的技术都无济于事。

有什么建议么?

最佳答案

尝试

image.recreate_versions!

对不起,在公共(public)汽车上。我无法解释这一点。

关于ruby-on-rails - 在 Carrierwave 中重新处理不同版本的图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5132426/

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