【问题标题】:CarrierWave and resize to a specific widthCarrierWave 并调整到特定宽度
【发布时间】:2011-08-25 17:10:08
【问题描述】:

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

【问题讨论】:

标签: ruby-on-rails carrierwave


【解决方案1】:

你可以使用:

process :resize_to_limit => [500, nil]

【讨论】:

  • 这似乎是正确的语法。
【解决方案2】:
process :resize_to_limit => [500, 0]

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

【讨论】:

  • 将它与carrierwave 0.10.0 和mini_magic 3.6.0 一起使用会导致图像缩小到1x1 像素。使用 [500, nil] 作为参数对我有用。
【解决方案3】:

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

如果图像大于给定大小,我希望调整大小,但如果图像更小,则不按比例放大。

resize_to_limit(宽度、高度)

调整图像大小以适应指定尺寸,同时保持原始纵横比。仅当图像大于指定尺寸时才会调整图像大小。生成的图像可能比在较小尺寸中指定的更短或更窄,但不会大于指定值。

详情:http://carrierwave.rubyforge.org/rdoc/classes/CarrierWave/MiniMagick.html#M000051

【讨论】:

    【解决方案4】:

    如果您只想限制宽度,请使用:

    process :resize_to_limit => [500, -1]
    

    并使用:

    process :resize_to_limit => [-1, 500]
    

    仅限制高度。

    【讨论】:

    • 它抛出height must be >= 0: -1
    猜你喜欢
    • 2012-01-24
    • 2015-05-19
    • 1970-01-01
    • 2012-08-14
    • 2012-10-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多