在Rails 3.0中使用CarrierWave,如果要调整宽度大于500像素的图像大小为500像素,并适当调整高度-保持相同的宽高比,应该如何编写代码?
你可以使用:
process :resize_to_limit => [500, nil]
process :resize_to_limit => [500, 0]
这将处理图像使其宽度不超过500像素,同时保持适当的长宽比并允许任何高度。
[500, nil]
适用于我。 - efatsi我知道这是一个老问题,但我需要类似的东西。
如果图像大于给定大小,则希望调整图像大小,但如果它们较小,则不进行缩放。
resize_to_limit(width, height)
调整图像大小以适合指定的尺寸,同时保留原始纵横比。仅在图像大于指定尺寸时才调整图像大小。生成的图像可能比较小的尺寸要短或窄,但不会大于指定值。
详细信息: http://carrierwave.rubyforge.org/rdoc/classes/CarrierWave/MiniMagick.html#M000051
process :resize_to_limit => [500, -1]
并使用:
process :resize_to_limit => [-1, 500]
仅限制高度。
height must be >= 0: -1
。 - MaicolBen