【发布时间】:2011-08-25 17:10:08
【问题描述】:
在 Rails 3.0 中使用 CarrierWave 您将如何编写代码 将宽度大于 500 像素的图像调整为 500 像素宽并适当调整高度 - 保持相同的初始宽高比。
【问题讨论】:
-
它不是重复的 - 这是关于保持一维固定的纵横比。
在 Rails 3.0 中使用 CarrierWave 您将如何编写代码 将宽度大于 500 像素的图像调整为 500 像素宽并适当调整高度 - 保持相同的初始宽高比。
【问题讨论】:
你可以使用:
process :resize_to_limit => [500, nil]
【讨论】:
process :resize_to_limit => [500, 0]
这将处理图像宽度不超过 500 像素,同时保持适当的纵横比并允许任何高度。
【讨论】:
[500, nil] 作为参数对我有用。
我知道这是一个老问题,但我需要类似的东西。
如果图像大于给定大小,我希望调整大小,但如果图像更小,则不按比例放大。
resize_to_limit(宽度、高度)
调整图像大小以适应指定尺寸,同时保持原始纵横比。仅当图像大于指定尺寸时才会调整图像大小。生成的图像可能比在较小尺寸中指定的更短或更窄,但不会大于指定值。
详情: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