如何按载波比例按百分比缩放图像

时间:2014-09-27 16:58:11

标签: ruby carrierwave percentage

我想从原始图像生成25%,50%,75%大小的图像,但似乎载波的resize_to_fill / fit不支持百分比。谁知道怎么做这个?

感谢。

1 个答案:

答案 0 :(得分:5)

经过一番研究,我找到了一个解决方案:

  process :store_dimensions

  version :r_3x do
    process :resize_to_fit_by_percentage => 0.75
  end

  private

  def resize_to_fit_by_percentage(percentage)
    resize_to_fit model.width*percentage, nil
  end


  def store_dimensions
    if file && model
      model.width, model.height = ::MiniMagick::Image.open(file.file)[:dimensions]
    end
  end  

首先获取上传图像的尺寸,然后定义自定义调整大小方法(此处为resize_to_fi_by_percentage),并像此代码一样调整此方法中的图像。