CarrierWave并resize到特定宽度

在Rails 3.0中使用CarrierWave如何使代码调整宽度大于500像素的图像大小为500像素宽并适当调整高度 – 保持宽度与高度的初始比率相同。

您可以使用:

process :resize_to_limit => [500, nil] 
 process :resize_to_limit => [500, 0] 

这将处理图像不超过500px,同时保持适当的宽高比并允许任何高度。

我知道这是一个老问题,但我需要类似的东西。

我希望图像大小超过给定大小时resize,但如果它们更小则不按比例放大。

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] 

仅限高度。

假设您使用的是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