CarrierWave并调整到特定宽度

时间:2011-08-25 17:10:08

标签: ruby-on-rails carrierwave

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

5 个答案:

答案 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