我正在使用carrierwave
将图片上传到我的rails应用。
我希望根据max-width
将height
固定为特定尺寸和width
。
当我这样做时
version :medium do
resize_to_limit(600,0)
end
然后图像没有出现。
此外,resize_to_limit
和resize_to_fit
请指导。
答案 0 :(得分:4)
如果您对只有一个版本感到满意,那么您可以将其添加到您的上传器中:
include CarrierWave::MiniMagick
process resize_to_fill: [600, 0]
以下是documentation for resize_to_limit:
调整图像大小以适合指定的尺寸,同时保留原始高宽比。仅当图像大于指定尺寸时才会调整图像大小。生成的图像可能比较小的尺寸中指定的更短或更窄,但不会大于指定的值。
调整图像大小以适合指定的尺寸,同时保留原始高宽比。图像可能比较小尺寸中指定的更短或更窄,但不会大于指定值。
此处为resize_to_fill:
调整图像大小以适合指定的尺寸,同时保留原始图像的纵横比。如有必要,请以较大的尺寸裁剪图像。
答案 1 :(得分:0)
您需要重新创建新版本的图片上传器,如: -
version :medium do
process :resize_to_fill => [600,0]
end
然后重新创建它们: -
User.all.each do |user|
user.avatar.recreate_versions!
end