缩小图像载波

时间:2014-09-19 12:06:34

标签: ruby-on-rails-4 carrierwave

如何将原始图像缩小到保持原始尺寸的10%质量。我不想调整它,只是降低质量。目的是减少文件大小。我将carrierwaveRails一起使用。

1 个答案:

答案 0 :(得分:0)

您可以向Uploader类添加一个方法,然后使用进程调用该方法,如下所示:

class PhotoUploader < CarrierWave::Uploader::Base
  include CarrierWave::RMagick # <-- Use this line, if you're using RMagick
  include CarrierWave::MiniMagick # <-- Use this line, if you're using MiniMagick

  process :optimize_image

  private

  def optimize_image
    manipulate! do |img|
      img.quality 10
      img
    end
  end

end

或者您可以创建一个名为'quality'的更动态的方法,该方法接受所需的质量作为参数,如Carrierwave wiki示例所示:https://github.com/carrierwaveuploader/carrierwave/wiki/How-to:-Specify-the-image-quality