在Rails 3.0中使用CarrierWave你将如何制作代码 将宽度大于500像素的图像调整为500像素宽,并适当调整高度 - 保持宽度与高度的初始比率相同。
答案 0 :(得分:44)
您可以使用:
process :resize_to_limit => [500, nil]
答案 1 :(得分:30)
process :resize_to_limit => [500, 0]
这将处理图像不超过500像素,同时保持适当的宽高比并允许任何高度。
答案 2 :(得分:4)
我知道这是一个老问题,但我需要类似的东西。
我希望图像大小超过给定大小时调整大小,但如果它们更小则不按比例放大。
resize_to_limit(宽度,高度)
调整图像大小以适合指定的尺寸,同时保留原始高宽比。仅当图像大于指定尺寸时才会调整图像大小。生成的图像可能比较小的尺寸中指定的更短或更窄,但不会大于指定的值。
详细信息:http://carrierwave.rubyforge.org/rdoc/classes/CarrierWave/MiniMagick.html#M000051
答案 3 :(得分:1)
如果您只想限制宽度,请使用:
process :resize_to_limit => [500, -1]
并使用:
process :resize_to_limit => [-1, 500]
仅限高度。
答案 4 :(得分:-5)
假设您使用的是RMagick或MiniMagick,请将此行添加到您的上传器类:
process :resize_to_fit => [500]
更多信息:
http://carrierwave.rubyforge.org/rdoc/classes/CarrierWave/RMagick.html#M000064 http://www.imagemagick.org/RMagick/doc/image3.html#resize_to_fit